如何在JavaFX选项卡中显示JFreeChart?

时间:2019-04-17 16:32:44

标签: java javafx javafx-8 jfreechart scenebuilder

我正在尝试在JavaFX应用程序中显示JFreeChart PieChart。我正在使用SceneBuilder,如果有帮助的话。以下是用于创建要添加到初始化方法中的图表的代码:

private static PieDataset createDataset() {
    DefaultPieDataset dataset = new DefaultPieDataset();
    AnnonceService sa = AnnonceService.getInstance();
    Annonce a = sa.last();
    dataset.setValue("Les offres",a.getNbr_o());
    dataset.setValue("Les demandes", a.getNbr_d());        
    return dataset;
}

private static JFreeChart createChart(PieDataset dataset) {
    JFreeChart chart = ChartFactory.createPieChart(
        "Les offres par rapport aux demandes", dataset);
    return chart;
}

1 个答案:

答案 0 :(得分:1)

从这个完整的example开始,我用三个新的标签构造了一个TabPane。每个binaryString包含一个新的Tab,每个ChartViewer包含一个具有不同名称的饼图。最后,我通过使用ChartViewer作为其根节点创建一个Stage来设置Scene

TabPane

image

经测试:

TabPane tabPane = new TabPane(
    new Tab("Tab 1", new ChartViewer(createChart("One"))),
    new Tab("Tab 2", new ChartViewer(createChart("Two"))),
    new Tab("Tab 3", new ChartViewer(createChart("Three")))
);
stage.setScene(new Scene(tabPane));