如何将JavaFX应用程序设置为单个类,然后从主JavaFX应用程序中调用这些类

时间:2017-10-03 23:10:30

标签: javafx

为一个学校项目开发一个JavaFX应用程序,并试图让这个工作变得有效......

我有启动主菜单屏幕的JavaFX应用程序。在该屏幕上,有一些选项按钮可以启动与我的应用程序的各种类一起使用的其他屏幕。它是所有CS学生必须做的简单,经典的CRUD应用程序。

我的问题是,我想将各种CRUD屏幕划分为他们自己的JavaFX类(即create.java,update.java等)。然后我的主JavaFX菜单屏幕将调用这些类。

请注意,尽管这些类都是它们各自独立的JavaFX类,但它们应该作为单个JavaFX应用程序一起工作。换句话说,他们将一起工作以更新同一个对象(例如Car对象)。

我已经知道应该只有一个JavaFX应用程序(即,其他类不应该有#34;扩展应用程序')。我的主菜单JavaFX屏幕应该是唯一具有“扩展应用程序”的屏幕。

好的,这是主菜单屏幕的代码:

public class My_Project02 extends Application {

    @Override // Override the start method in the Application class
    public void start(Stage primaryStage) {

        // Hold two buttons in an HBox
        HBox hBox = new HBox();
        hBox.setSpacing(10);
        hBox.setAlignment(Pos.CENTER);
        Button btCreate = new Button("Create");

        hBox.getChildren().addAll(btCreate);

        // Create and register the handler
        btCreate.setOnAction((ActionEvent e) -> {

            // ** WHAT DO I PUT HERE TO LAUNCH THE JavaFX CreateStage.JAVA CLASS? **
            // I added this line below....
            CreateStage createWindow = new CreateStage(destroyerList);

            // Now this event handler works

        });

        // Create a scene and place it in the stage
        Scene scene = new Scene(hBox, 300, 50);
        primaryStage.setTitle("TITLE"); // Set title
        primaryStage.setScene(scene); // Place the scene in the stage
        primaryStage.show(); // Display the stage
    }
}

/**************************
HERE'S THE CreateStage.JAVA FILE
How do I set this up to get this to work from My_Project02?
**************************/

public class CreateStage {

        // Added this line below and now this CreateStage class can be launched from My_Project02 application above
        Stage primaryStage = new Stage(); 


        Scene scene = new Scene(new Button("OK"), 200, 250);
        primaryStage.setTitle("MyJavaFX"); // Set the stage title
        primaryStage.setScene(scene); // Place the scene in the stage
        primaryStage.show(); // Display the stage

}

- 结束 -

请帮忙!非常感谢所有回复的人。

0 个答案:

没有答案