java - [BIRT 2.3.2(独立)]"Jumping"问题?

标签 java charts swt birt interactive

事实是:我制作了一个小型应用程序,其中包含一个与条形图相关的表格(当然是一个 birt 表格),当我修改表格值时,它会自动更改我的图表(类似于 Excel,但不那么花哨)...

无论如何,一切都工作正常......但是当我想让我的图表交互以显示工具提示(例如)时,我自然地通知我 设备渲染器 使用以下命令 idr.setProperty( IDeviceRenderer.UPDATE_NOTIFIER, this ); 但这样做会在(很久以后)我的代码出现时出现错误 gr.render(idr, gr.build(idr.getDisplayServer(), this.chart, bo, vroum,null)); (以前从未失败过)...

我感到失落......

PS: 我得到的错误是我的图表中没有出现柱形图并收到以下错误消息: org.eclipse.birt.chart.exception.ChartException 在 org.eclipse.birt.chart.factory.Generator.render(Generator.java:1373) 在 clickable.chart.ClickableProto.paintControl(ClickableProto.java:520) 在 org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:217) 在 org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) 在 org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1003) 在 org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1027) 在 org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1012) 在 org.eclipse.swt.widgets.Composite.WM_PAINT(Composite.java:1424) 在 org.eclipse.swt.widgets.Control.windowProc(Control.java:3842) 在 org.eclipse.swt.widgets.Canvas.windowProc(Canvas.java:337) 在 org.eclipse.swt.widgets.Display.windowProc(Display.java:4541) 在 org.eclipse.swt.internal.win32.OS.DispatchMessageW( native 方法) 在 org.eclipse.swt.internal.win32.OS.DispatchMessage(OS.java:2371) 在 org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3420) 在 clickable.chart.ClickableProto.main(ClickableProto.java:151) 引起原因:java.lang.NullPointerException 在 org.eclipse.birt.chart.render.InteractiveRenderer.isColoredByCategories(InteractiveRenderer.java:197) 在 org.eclipse.birt.chart.render.InteractiveRenderer.getSource(InteractiveRenderer.java:161) 在 org.eclipse.birt.chart.render.InteractiveRenderer.modifyEvent(InteractiveRenderer.java:116) 在 org.eclipse.birt.chart.device.swt.SwtRendererImpl.fillPolygon(SwtRendererImpl.java:502) 在 org.eclipse.birt.chart.event.PolygonRenderEvent.fill(PolygonRenderEvent.java:156) 在 org.eclipse.birt.chart.render.DeferredCache.flushPlanes(DeferredCache.java:499) 在 org.eclipse.birt.chart.render.DeferredCache.flushOptions(DeferredCache.java:271) 在 org.eclipse.birt.chart.render.DeferredCacheManager.flushOptions(DeferredCacheManager.java:165) 在 org.eclipse.birt.chart.render.AxesRenderer.flushClipping(AxesRenderer.java:3416) 在 org.eclipse.birt.chart.render.AxesRenderer.restoreClipping(AxesRenderer.java:3401) 在 org.eclipse.birt.chart.render.Bar.renderSeries(Bar.java:1533) 在 org.eclipse.birt.chart.render.AxesRenderer.renderPlot(AxesRenderer.java:2181) 在 org.eclipse.birt.chart.render.AxesRenderer.render(AxesRenderer.java:314) 在 org.eclipse.birt.chart.factory.Generator.render(Generator.java:1368) ... 14 更多

我对任何想法都持开放态度!

最佳答案

最后我自己解决了......

以下是您在 BIRT 上制作图表并希望其具有交互性时不要犯的一些常见错误...

1 几乎不实现任何需要重写的内容

        我个人忘记覆盖

getDesignTimeModel()

getRunTimeModel()

进行 ICallBackNotifier 实现...

2 不要嵌套图表(或者也准备好嵌套大多数方法)

        我的图表不是直接在我的外壳上,而是嵌套在一堆复合小部件、 Canvas 等中......因此我的 Canvas 隐藏了我的外壳,这是唯一能够以我想要的方式对鼠标 Controller 使用react的外壳。 (有趣的事实:当我(无缘无故)试图拖动外壳的一小部分(没有与图表重叠)并将其放在我的条形图上时,我想通了这一切...工具提示弹出了...^^ 理解事物如何工作的有趣方式:p)

3 别是我...

        为了一个勉强可以接受的结果付出了巨大的努力和痛苦;p

希望这对您有所帮助,如果您遇到同样的问题,请随时给我发邮件,我很乐意尽我所能提供帮助^^

关于java - [BIRT 2.3.2(独立)]"Jumping"问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/970244/

相关文章:

java - 使用 Maven 命令执行特定的 JUnit 测试用例

android - 如何使用 achartengine 在 android 中创建条形图

jquery - 删除 X 轴上的线条和代码

java - 使用 Apache POI 创建 excel 图表

java - 使用字符串 vector 填充 SWT 表

java - 如何删除 Java HashSet 中的重复项

java - 在 Android 设备中获取已安装软件包列表的最快方法

java - JPA orderBy 需要注释帮助

Java SWT : Change colour of line when using GC. 绘图线

java - 在菜单中显示多列