5

我在我的 Swing 应用程序中使用 JavaFX LineChart,当尝试清除系列数据时,我得到了这个异常。

我的代码只是调用 clear 方法,调用是在 JavaFX 线程中使用 Platform.runLater 进行的,我在 ubuntu 上使用 1.7.0_09,我的代码是否有任何问题,或者这是 JavaFX 中的错误。

series.getData().clear();

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)
4

1 回答 1

5

现在问题解决了,看来是JavaFX的一个bug。

我已经通过添加解决了

lineChart.setAnimated(false);一切正常。在 JIRA Kenai 中,它已通过评论被提议为错误lineChart.setCreateSymbols(false);

这也有效,但我认为这不是正确的答案,我可以使用.setCreateSymbols(false)(true)设置setAnimated(false);

于 2013-03-12T12:41:02.643 回答