0
私はグラフをプロットするJavaFxアプリケーションを持っています。SwingのJavaFxチャートを更新する
public class Test2 extends Application {
@Override public void start(Stage stage) {
final SwingNode chartSwingNode = new SwingNode();
chartSwingNode.setContent(
new ChartPanel(generatePieChart())
);
stage.setScene(
new Scene(new StackPane(chartSwingNode))
);
stage.show();
}
private JFreeChart generatePieChart() {
DefaultPieDataset dataSet = new DefaultPieDataset();
dataSet.setValue("China", 1344.0);
dataSet.setValue("India", 1241.0);
dataSet.setValue("United States", 310.5);
return ChartFactory.createPieChart(
"Population 2011", dataSet, true, true, false
);
}
public static void main(String[] args) { launch(args); }
}
次に、ボタンを使用してSwingから呼び出します。
_btnStart.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
new Thread() {
@Override
public void run() {
Application.launch(Test2.class);
}
}.start();
}
});
ボタンをクリックすると、グラフが表示されます。今度はチャートを更新したいと思います。 Test2クラスに値を渡してグラフを更新するにはどうすればよいですか?代わりにJFXPanelを使うべきですか?
スイングが必要ですか? JFreeChartは[example](https://stackoverflow.com/a/44688314/230513)と[example](https://stackoverflow.com/a/44967809/230513)のJavaFXで動作します。 – trashgod