单击Jbutton时如何从另一个Jframe调用java类
我正在尝试显示JavaFX多折线图。我尝试在另一个Jframe的Jbutton单击中打开此图,并将数据数组传递给graph类 当从另一个Jfame单击Jbutton时,如何将该类变成一个对象并让它显示图形 这是我编辑的代码和两个显示临时数据的数组单击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
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调用它。