问题: 我的GUI项目中有两个扩展javafx.Application的类:一个是应实现主板的GUIcontroller,另一个是LoginGUI,应仅实现Login窗口。
我想在从GUIcontroller中启动主板之前,并且只有在登录成功后,才从GUIcontroller中启动LoginGUI。 但是怎么办呢?
GUIController
public class GUIController extends Application implements ViewInterface {
private Parent rootAdrenaline;
private Stage primaryStage;
private LoginGUI loginGUI;
//starts the mainBoard GUI
@Override
public void start(Stage primaryStage) throws Exception {
rootAdrenaline = FXMLLoader.load(getClass().getClassLoader().getResource("MapGUI.fxml"));
this.primaryStage = new Stage();
this.primaryStage.setTitle("Adrenaline's Board");
this.primaryStage.setScene(new Scene(rootAdrenaline, 1189, 710));
this.primaryStage.setOnCloseRequest(event -> {exitApp(event);});
this.primaryStage.show();
}
public void displayLogin(){
this.loginGUI = new LoginGUI();
this.loginGUI.launchLogin();
}
public void setLoginButton(){
loginButton.setOnAction(event -> tryToConnect());
}
public void tryToConnect(){//connect to server}
LoginGUI
public class LoginGUI extends Application {
public synchronized void start(Stage primaryStage) throws Exception {
Parent adrenalineLog = FXMLLoader.load(getClass().getClassLoader().getResource("LoginGUI.fxml"));
Scene scene = new Scene(adrenalineLog, 600, 470);
primaryStage.setTitle("Adrenaline Login");
primaryStage.setScene(scene);
primaryStage.show();
}
public void launchLogin() {
launch();
}