首页 > 解决方案 > 是否可以在另一个 JFrame 上显示一个类的图表?

问题描述

我正在创建一个解决函数并绘制它们的图表的程序。目前,我只有两个类:一个标准的 Java 类(Graph),其中我有用于绘制图形的代码和一个JFrame(Main),用户使用它来插入变量。

我想在框架的一个面板上显示已在另一个类中编码的图形。这可能吗?

我试图以这种方式添加类GraphJFrame但它不起作用:

Public class Main extends javax.swing.JFrame, Graph { 

我还尝试使用以下代码启动图表:Graph. Main ( new String[0]),它可以工作,但是当我关闭它并尝试再次打开它时,它没有响应。


public class Graph extends Application {

    @Override public void start(Stage stage) {
        stage.setTitle("Title");
        //defining the axes
        final NumberAxis xAxis = new NumberAxis();
        final NumberAxis yAxis = new NumberAxis();
        xAxis.setLabel("00");
        //creating the chart
        final LineChart<Number,Number> lineChart = 
                new LineChart<Number,Number>(xAxis,yAxis);

        lineChart.setTitle("Graph for the chosen function");
        //defining a series
        XYChart.Series series = new XYChart.Series();
        series.setName("Points");
        //populating the series with data
        series.getData().add(new XYChart.Data(1, 23));
        series.getData().add(new XYChart.Data(2, 14));
        series.getData().add(new XYChart.Data(3, 15));
        series.getData().add(new XYChart.Data(4, 24));
        series.getData().add(new XYChart.Data(5, 34));
        series.getData().add(new XYChart.Data(6, 36));
        series.getData().add(new XYChart.Data(7, 22));
        series.getData().add(new XYChart.Data(8, 45));
        series.getData().add(new XYChart.Data(9, 43));
        series.getData().add(new XYChart.Data(10, 17));
        series.getData().add(new XYChart.Data(11, 29));
        series.getData().add(new XYChart.Data(12, 25));

        Scene scene  = new Scene(lineChart, 700,500);
        lineChart.getData().add(series);

        //stage.setMaximized(true);

        stage.setScene(scene);
        stage.show();
    }

    public static void main(String[] args) {
        launch(args);
    }
}

标签: javaswingplotgraphjframe

解决方案


推荐阅读