| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 
 | package test.jfreechart.swing;
 
import javafx.application.Application;
import javafx.embed.swing.SwingNode;
import javafx.scene.Scene;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.SpiderWebPlot;
import org.jfree.data.category.DefaultCategoryDataset;
 
import javax.swing.*;
 
public final class Main extends Application {
    public static void main(final String... args) {
        launch(args);
    }
 
    @Override
    public void start(final Stage stage) throws Exception {
        final var swingNode = new SwingNode();
        createAndSetSwingContent(swingNode);
        final var pane = new StackPane();
        pane.getChildren().setAll(swingNode);
        final var scene = new Scene(pane);
        stage.setScene(scene);
        stage.setWidth(1000);
        stage.setHeight(800);
        stage.setTitle("Test - Swing");
        stage.show();
    }
 
    private void createAndSetSwingContent(SwingNode swingNode) {
        SwingUtilities.invokeLater(() -> {
            final var chart = createChart();
            final var content = new ChartPanel(chart);
            swingNode.setContent(content);
        });
    }
 
    public static JFreeChart createChart() {
        final var dataset = new DefaultCategoryDataset();
        dataset.addValue(35.0, "S1", "u");
        dataset.addValue(45.0, "S1", "r");
        dataset.addValue(2.0, "S1", "b");
        dataset.addValue(75.0, "S1", "t");
        dataset.addValue(25.0, "S1", "l");
        dataset.addValue(95.0, "S1", "bla");
        dataset.addValue(15.0, "S1", "bla");
        dataset.addValue(45.0, "S1", "bla");
        final var plot = new SpiderWebPlot(dataset);
        return new JFreeChart(plot);
    }
} | 
Partager