1 2 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