如何暂停代码执行,直到另一节完成

时间:2019-05-12 22:52:38

标签: javafx

所以我的问题如下。我正在尝试创建一个应用程序,要求用户首先登录才能访问该应用程序。我将登录面板创建为与GUI其余部分分开的小窗口,因为我认为这样做会更干净。

Login Panel

在这种情况下,仅出于测试目的,当我单击按钮时,应该关闭登录面板,然后再打印我已返回主界面的消息。但是,发生的情况是消息在启动时立即打印,而不是在我按下按钮后立即打印。我如何使程序仅在用户成功登录后才能在主程序中继续。还是这是我主要方法中活动的结束?

我的“ Main”类,其中包含main方法:

    package misc;
    import javafx.application.Application;
    import javafx.stage.Stage;
    public class Main extends Application {
        public static void main(String[] args) {
            launch(args);
        }
        @Override
        public void start(Stage primaryStage) {
            LoginPanel frame = new LoginPanel(primaryStage);
            frame.createFrame();    
            System.out.println("Back to main");
        }
    }

我的“ createFrame”方法是从主菜单调用的,位于“ LoginPanel”类中,该方法包含按钮的设置。

            public void createFrame () {
                primaryStage.setTitle("Title Here");

                AnchorPane root = rootPane();

                primaryStage.setScene(new Scene(root, 500, 300));
                primaryStage.setResizable(false);
                primaryStage.show();
            }


            private Button loginBtn() {

                Button loginBtn = new Button();
                loginBtn.setPrefSize(200, 50);

                loginBtn.setText("تسجيل دخول");
                loginBtn.setFont(Font.font(20));

                loginBtn.setOnAction(new EventHandler<ActionEvent>() {
                    @Override
                    public void handle(ActionEvent event) {
                        primaryStage.setScene(null);
                        primaryStage.close();

                    }
                });
                return loginBtn;
            }

预先感谢

0 个答案:

没有答案