5

Swing アプリケーションで JavaFX LineChart を使用していますが、シリーズ データをクリアしようとすると、この例外が発生します。

私のコードはclearメソッドを呼び出すだけです.Platform.runLaterを使用してJavaFXスレッドで呼び出しが行われます.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 のバグのようです。

を追加して解決しました

lineChart.setAnimated(false);そしてそれはすべて正常に動作します。JIRA Kenai では、コメントによってバグとして提案されていますlineChart.setCreateSymbols(false);

これも機能しますが、正解ではないと思います。使用.setCreateSymbols(false)または設定でき(true)ますsetAnimated(false);

于 2013-03-12T12:41:02.643 に答える