2009-06-09 54 views
1

這是事實:我做了一個小應用程序,它包含一個與條形圖相關的表格(當然是birt ...),當我修改表格值時,它會自動改變我的圖表(如Excel但不那麼花哨) ...[BIRT 2.3.2(獨立)]「跳躍」問題?

反正一切正常......但是當我想讓我的圖表互動,以顯示工具提示(例如)我告訴我的天然化 IDeviceRenderer 白衣以下命令 idr.setProperty(IDeviceRenderer。 UPDATE_NOTIFIER,this); 但是這樣做會在我的代碼來到 時帶來一個錯誤gr.render(idr,gr.build(idr.getDisplayServer(),this.chart,bo,vroum,null)); (其中以前從來沒有失敗)...

我感到失落......

PS: 我得到的錯誤是我沒有得到任何的酒吧我的圖表,並收到以下錯誤信息: 組織.eclipse.birt.chart.exception.ChartException at org.eclipse.birt.chart.factory.Generator.render(Generator.java:1373) at clickable.chart.ClickableProto.paintControl(ClickableProto.java:520) at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:217) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) at org.eclips在org.eclipse.swt.widgets.Wndget.sendEvent(Widget.java:1027) at org.eclipse.swt.widgets.Widget.sendEvent(widget.java:1003) Widget.java:1012) 在org.eclipse.swt.widgets.Composite.WM_PAINT(Composite.java:1424) 在org.eclipse.swt.widgets.Control.windowProc(Control.java:3842) 的組織。 eclipse.swt.widgets.Canvas.windowProc(Canvas.java:337) at org.eclipse.swt.widgets.Display.windowProc(Display.java:4541) at org.eclipse.swt.internal.win32.OS。 DispatchMessageW(Native Method) at org.eclipse.swt.internal.win32.OS.DispatchMessage(OS.java:2371) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3420) at clickable .chart.ClickableProto.main(CLI ckableProto.java:151) 引起:java.lang.NullPointerException at org.eclipse.birt.chart.render.InteractiveRenderer.isColoredByCategories(InteractiveRenderer.java:197) at org.eclipse.birt.chart.render.InteractiveRenderer .getSource(InteractiveRenderer.java:161) at org.eclipse.birt.chart.render.InteractiveRenderer.modifyEvent(InteractiveRenderer.java:116) at org.eclipse.birt.chart.device.swt.SwtRendererImpl.fillPolygon(SwtRendererImpl .java:502) at org.eclipse.birt.chart.event.PolygonRenderEvent.fill(PolygonRenderEvent.java:156) at org.eclipse.birt.chart.render.DeferredCache.flushPlanes(DeferredCache.java:499) 在org.eclipse.birt.chart.render.DeferredCache.flushOptions(DeferredCache.java:271) at org.eclip在org.eclipse.birt.chart上的org.eclipse.birt.chart.render.AxesRenderer.flushClipping(AxesRenderer.java:3416) 上的se.birt.chart.render.DeferredCacheManager.flushOptions(DeferredCacheManager.java:165) 。 render.AxesRenderer.restoreClipping(AxesRenderer.java:3401) at org.eclipse.birt.chart.render.Bar.renderSeries(Bar.java:1533) at org.eclipse.birt.chart.render.AxesRenderer.renderPlot( AxesRenderer.java:2181) at org.eclipse.birt.chart.render.AxesRenderer.render(AxesRenderer.java:314) at org.eclipse.birt.chart.factory.Generator.render(Generator.java:1368) ... 14更多

我很樂意接受任何想法!

回答

1

最後我總算對我自己......

因此,這裏是當你在BIRT圖表一些常見的錯誤不會製造和wnat它是互動的...

1勉強實現任何需要被重寫

               我personnaly忘了覆蓋

getDesignTimeModel() 

getRunTimeModel() 

與ICallBackNotifier正在添加實施...

2不嵌套圖表(或太準備築巢大部分的方法)

                0123我已將我的圖表直接放在我的外殼上,但nes在一堆複合材料小部件,畫布等等......因此,我的畫布隱藏了我的外殼,這是唯一能夠以我想要的方式對我的鼠標控制器進行反應的外殼。 (有趣的事實:當我(無緣無故)試圖拖動一小部分未與圖表重疊的外殼並將其放在我的酒吧上時,我想到了這一切...那裏的工具提示被迫...^^有趣的方式來理解事物是如何工作的:p)

3不要我...

               這是許多工作和痛苦的勉強可以接受的結果,p

希望這個幫助,如果你面對同樣的問題,不要猶豫給我發郵件我,我會很樂意盡我所能幫助^^