我无法在javafx应用程序中调用另一个类的类。 我在java中制作了一个饼图。单独调用时会运行 成功。但是,当我通过使用此代码从当前类的另一个类访问时使用此代码
Graph main = new Graph();
Application.launch();
它不起作用。
这是从上面调用的图形代码,坐在自己的类中。
package semi_final1;
//package Graph;
import javafx.application.Application;
import static javafx.application.Application.launch;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.scene.Scene;
import javafx.stage.Stage;
import javafx.scene.chart.*;
import javafx.scene.Group;
/**
*
* @author
*/
public class Graph extends Application {
@Override public void start(Stage stage) {
Scene scene = new Scene(new Group());
stage.setTitle("Analysis");
stage.setWidth(500);
stage.setHeight(500);
ObservableList<PieChart.Data> pieChartData =
FXCollections.observableArrayList(
new PieChart.Data("Levels", 13),
new PieChart.Data("Points", 25),
new PieChart.Data("Questions", 10),
new PieChart.Data("Answers", 22),
new PieChart.Data("Length of Contents", 20),
new PieChart.Data("Likes", 20),
new PieChart.Data("Dislikes", 10),
new PieChart.Data("Jaccard", 10));
final PieChart chart = new PieChart(pieChartData);
chart.setTitle("Imported Fruits");
((Group) scene.getRoot()).getChildren().add(chart);
stage.setScene(scene);
stage.show();
}
public static void main(String[] args) {
//launch(args);
}
}
答案 0 :(得分:0)
Application.launch(String...)
仅在从扩展应用程序的类调用时才有效(该类将用作Application
类)。如果要从其他类启动javafx应用程序,则需要使用Application.launch(Class, String...
方法:
Application.launch(Graph.class);
请注意,您不得从同一程序中启动超过1 Application
。
(如果您计划这样做,请将场景图的代码移动到不同的类别;例如,在这种情况下使用fxml + controller会是一个好主意)