我在Swing应用程序中使用JavaFX LineChart,当尝试清除系列数据时,我得到了这个异常.
我的代码只调用clear方法,调用是在使用Platform.runLater的JavaFX线程中进行的,我在ubuntu上使用1.7.0_09,我的代码是否存在任何问题,或者这是JavaFX中的错误.
series.getData().clear();
Run Code Online (Sandbox Code Playgroud)
series是一个XYChart.Series对象
Exception in runnable
java.lang.NullPointerException
at javafx.scene.chart.LineChart.dataItemRemoved(LineChart.java:275)
at javafx.scene.chart.XYChart.dataItemsChanged(XYChart.java:470)
at javafx.scene.chart.XYChart.access$2500(XYChart.java:72)
at javafx.scene.chart.XYChart$Series$1.onChanged(XYChart.java:1462)
at com.sun.javafx.collections.ListListenerHelper$SingleChange.fireValueChangedEvent(ListListenerHelper.java:134)
at com.sun.javafx.collections.ListListenerHelper.fireValueChangedEvent(ListListenerHelper.java:48)
at com.sun.javafx.collections.ObservableListWrapper.callObservers(ObservableListWrapper.java:97)
at com.sun.javafx.collections.ObservableListWrapper.clear(ObservableListWrapper.java:184)
Run Code Online (Sandbox Code Playgroud)
问题现在解决了,似乎是JavaFX的一个bug.
我已经通过添加解决了
lineChart.setAnimated(false);这一切都很好.在JIRA Kenai中,它被评论为buglineChart.setCreateSymbols(false);
这也有效,但我认为这不是正确的答案,我可以使用.setCreateSymbols(false)或(true)已经设置setAnimated(false);
| 归档时间: |
|
| 查看次数: |
1431 次 |
| 最近记录: |