我正在尝试将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();
它可以工作,但是摇摆式包装器会创建自己的窗口。
我该如何更新嵌入式图表中的数据?
谢谢。
答案 0 :(得分:0)
SwingWrapper
是一个类,旨在弹出一个独立的JFrame
以显示图表,并且不应在JavaFX或Swing应用程序中用作嵌入式图表。看一下SwingDemo,并在JavaFX应用程序中使用XChartPanel
。