单击Jbutton时如何从另一个Jframe调用java类

单击Jbutton时如何从另一个Jframe调用java类,java,swing,oop,javafx,Java,Swing,Oop,Javafx,我正在尝试显示JavaFX多折线图。我尝试在另一个Jframe的Jbutton单击中打开此图,并将数据数组传递给graph类 当从另一个Jfame单击Jbutton时,如何将该类变成一个对象并让它显示图形 这是我编辑的代码和两个显示临时数据的数组 import javafx.application.Application; import javafx.geometry.Side; import javafx.scene.Scene; import javafx.scene.chart.Categ

我正在尝试显示JavaFX多折线图。我尝试在另一个Jframe的Jbutton单击中打开此图,并将数据数组传递给graph类

当从另一个Jfame单击Jbutton时,如何将该类变成一个对象并让它显示图形

这是我编辑的代码和两个显示临时数据的数组

import javafx.application.Application;
import javafx.geometry.Side;
import javafx.scene.Scene;
import javafx.scene.chart.CategoryAxis;
import javafx.scene.chart.LineChart;
import javafx.scene.chart.NumberAxis;
import javafx.scene.chart.XYChart;
import javafx.stage.Stage;


public class LineGrph extends Application {

@Override
public void start(Stage stage) {
    double LE[] = {23.5,12.0,44.0,12.6,8.5,4.6,53.6}; // this two arrays should pass from another Jframe
    double RE[] = {22.5,32.0,40.0,32.6,43.5,23.6,11.6};
    stage.setTitle("Line Chart Sample");
    final CategoryAxis xAxis = new CategoryAxis();
    final NumberAxis yAxis = new NumberAxis();
     xAxis.setLabel("Hz");
     yAxis.setLabel("DB");
     xAxis.setSide(Side.TOP);

    final LineChart<String,Number> lineChart = 
            new LineChart<String,Number>(xAxis,yAxis);

    lineChart.setTitle("Stock Monitoring, 2010");

    XYChart.Series series1 = new XYChart.Series();
    series1.setName("Portfolio 1");
    int count = 125;
    for (int i = 0; i<= 6 ; i++)
    {

    String x = Integer.toString(count);
    series1.getData().add(new XYChart.Data(x, LE[i]));
    count = count * 2;
    }

    XYChart.Series series2 = new XYChart.Series();
    series2.setName("Portfolio 2");

    int count2 = 125;
    for (int p = 0; p<= 6 ; p++)
    {
    String x = Integer.toString(count2);
    series2.getData().add(new XYChart.Data(x, RE[p]));
    count2 = count2 * 2;
    }

    Scene scene  = new Scene(lineChart,800,600);       
    lineChart.getData().addAll(series1, series2);

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


}


public static void main(String[] args) {
    Application.launch(args);
}
}
导入javafx.application.application;
导入javafx.geometry.Side;
导入javafx.scene.scene;
导入javafx.scene.chart.CategoryAxis;
导入javafx.scene.chart.LineChart;
导入javafx.scene.chart.NumberAxis;
导入javafx.scene.chart.XYChart;
导入javafx.stage.stage;
公共类LineGrph扩展了应用程序{
@凌驾
公众假期开始(阶段){
double LE[]={23.5,12.0,44.0,12.6,8.5,4.6,53.6};//这两个数组应该从另一个Jframe传递
双RE[]={22.5,32.0,40.0,32.6,43.5,23.6,11.6};
阶段。设置标题(“折线图样本”);
最终CategoryAxis xAxis=新CategoryAxis();
最终数字axis yAxis=新数字axis();
xAxis.setLabel(“Hz”);
yAxis.setLabel(“DB”);
X轴设置侧(侧面、顶部);
最终线形图线形图=
新的线形图(xAxis、yAxis);
线形图.setTitle(“库存监控,2010年”);
XYChart.Series系列1=新的XYChart.Series();
系列1.集合名称(“组合1”);
整数计数=125;

对于(int i=0;i)您的代码是一个完整的、独立的应用程序。执行此代码的唯一方法是执行此应用程序。如果您希望此代码中的某些代码在其他应用程序中可重用(我认为这是您要问的),则需要创建一个新类(不是
应用程序的子类的类)
)然后将可重用代码移到那里。请看,也许,为什么不使用DialogPane类?或者,我在swing中使用了反射类,这被称为java的类加载,但我对javafx了解不多。但是可以使用反射api调用它。您的代码是一个完整的、独立的应用程序。执行此操作的唯一方法是代码是通过执行此应用程序来实现的。如果您希望此代码中的某些代码在其他应用程序中可重用(这是我认为您所要求的),则需要创建一个新类(不是
应用程序的子类的类)
)然后将可重用代码移到那里。看,也许,为什么不使用DialogPane类?或者,我在swing中使用了反射类,称为java的类加载,但我对javafx了解不多。但是可以使用反射api调用它。