所以我的问题如下。我正在尝试创建一个应用程序,要求用户首先登录才能访问该应用程序。我将登录面板创建为与GUI其余部分分开的小窗口,因为我认为这样做会更干净。
在这种情况下,仅出于测试目的,当我单击按钮时,应该关闭登录面板,然后再打印我已返回主界面的消息。但是,发生的情况是消息在启动时立即打印,而不是在我按下按钮后立即打印。我如何使程序仅在用户成功登录后才能在主程序中继续。还是这是我主要方法中活动的结束?
我的“ 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;
}
预先感谢