JavaFX应用中的实时XChart

时间:2018-07-04 17:08:00

标签: javafx xcharts

我正在尝试将XChart面板嵌入JavaFX应用程序中。

为此,我尝试使用一个swing节点向其中添加xChart面板。到目前为止,我可以看到图表。

问题是我需要每50毫秒实时更新一次,如果我尝试将数据添加到图表中,它将直到以后才更新。

    final XYChart chart = QuickChart.getChart("Simple XChart Real-time Demo", "Radians", "Sine", "sine", initdata[0], initdata[1]);    


    JPanel pnlChart = new XChartPanel(chart);

如果我使用SwingWrapper:

final SwingWrapper<XYChart> sw = new SwingWrapper<XYChart>(chart);
sw.displayChart();

并使用sw.repaintChart():

Platform.runLater(() -> chart.updateXYSeries("sine", data[0], data[1], null));
sw.repaintChart();

它可以工作,但是摇摆式包装器会创建自己的窗口。

我该如何更新嵌入式图表中的数据?

谢谢。

1 个答案:

答案 0 :(得分:0)

SwingWrapper是一个类,旨在弹出一个独立的JFrame以显示图表,并且不应在JavaFX或Swing应用程序中用作嵌入式图表。看一下SwingDemo,并在JavaFX应用程序中使用XChartPanel