在类之间切换

时间:2014-10-11 08:25:20

标签: java javafx

我的主要课程已经开始了第一阶段,我想通过button_info启动另一个阶段,我写给另一个课程的代码。即使FMXL更好,我也不使用FXML,只使用经典的JavaFx。任何的想法 ?感谢。

mainclass

public class StartClass extends Application {

    @Override
    public void start(Stage primaryStage) {


         /*******************************
         *   Incialization of variables *       
         *******************************/

        final Group group = new Group();
        final TransactionWindows tw = new TransactionWindows();
        final InfoWindow iw = new InfoWindow();
        /*******************************
         *          Button             *       
         *******************************/
        final Button button_zacit = new Button ();
        button_zacit.setText("Začít");
        button_zacit. setPrefHeight(30);
        button_zacit.setPrefWidth(103);
        button_zacit.setLayoutX(255);
        button_zacit.setLayoutY(150);
        group.getChildren().add(button_zacit);

        final Button button_info = new Button ();
        button_info.setText("Info");
        button_info. setPrefHeight(30);
        button_info.setPrefWidth(103);
        button_info.setLayoutX(255);
        button_info.setLayoutY(217);
        group.getChildren().add(button_info);

        final Button button_konec = new Button ();
        button_konec.setText("Konec");
        button_konec. setPrefHeight(30);
        button_konec.setPrefWidth(103);
        button_konec.setLayoutX(255);
        button_konec.setLayoutY(285);
        group.getChildren().add(button_konec);

         /*******************************
         *             Text            *       
         *******************************/

        final Text text_uvod = new Text ();
        text_uvod.setText("Vítejte ve hře Guess Word");
        text_uvod.setLayoutX(78);
        text_uvod.setLayoutY(57);
        text_uvod.setTextAlignment(TextAlignment.CENTER);
        text_uvod.setFont(new Font(30));
        group.getChildren().add(text_uvod);

         /*******************************
         *     Methods of Button        *       
         *******************************/
        button_konec.setOnAction(new EventHandler<ActionEvent> () {

            @Override
            public void handle(ActionEvent t) {
                Platform.exit();
            }

        });

        button_info.setOnAction(new EventHandler<ActionEvent> () {

            @Override
            public void handle(ActionEvent t) {

              InfoWindow.launch();

            }

        });


        Pane root = new Pane();
        root.getChildren().addAll(group);

        Scene scene = new Scene(root, 600, 400);
//        scene.getStylesheets().addAll("mainpackage/GW.css");
        primaryStage.setTitle("Hello World!");
        primaryStage.setScene(scene);
        primaryStage.show();
    }

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        launch(args);
    }

}

类在哪里是另一个阶段:

ublic  class InfoWindow extends Application{



    @Override
    public void start(Stage infoStage) throws Exception {

        /********************************
         *  Inicializaion of  variables *       
         *******************************/
         Group groupInfo = new Group();



         /*******************************
         *           TextArea          *       
         *******************************/
        TextArea textarea_info = new TextArea();
        textarea_info.setPrefHeight(241);
        textarea_info.setPrefWidth(454);
        textarea_info.setLayoutX(73);
        textarea_info.setLayoutY(35);
        textarea_info.setText("Text se bude brát ze složky");
        textarea_info.setEditable(false);
        groupInfo.getChildren().add(textarea_info);

        Pane root = new Pane();
        root.getChildren().addAll(groupInfo);

        Scene scene = new Scene(root, 600, 400);
        infoStage.setScene(scene);
        infoStage.show();


    }
}

1 个答案:

答案 0 :(得分:0)

所以你想要InfoWindow作为一个弹出窗口?

如果是这样,那么InfoWindow应该是Stage的子类而不是Application。