我使用Scene Builder制作了简单的登录表单。 登录表单工作正常,但是当我输入用户/通行证和主窗口打开时,仍然打开登录窗口。怎么关闭它?问候。
这是代码DomaciFinal.java:
@Override
public void start(Stage stage) {
try {
Parent root = FXMLLoader.load(getClass().getResource("Login.fxml"));
Scene scene = new Scene(root);
stage.setScene(scene);
stage.show();
} catch (IOException ex) {
System.out.println(ex);
}
}
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
launch(args);
}
MainController.java:
public class MainController {
@FXML
private Label lblStatus;
@FXML
private TextField txtUserName;
@FXML
private TextField txtPassword;
public void Login(ActionEvent event) throws Exception {
if (txtUserName.getText().equals("user") && txtPassword.getText().equals("pass")) {
lblStatus.setText("Uspešno ste ulogovani.");
Stage primaryStage = new Stage();
Parent root = FXMLLoader.load(getClass().getResource("Main.fxml"));
Scene scene = new Scene(root);
primaryStage.setScene(scene);
primaryStage.show();
} else {
lblStatus.setText("Neispravni podaci.");
}
}
提前致谢。
答案 0 :(得分:0)
您可以采取的一种方法是将原始舞台的场景设置为主场景。 您需要更改主类以存储舞台并添加getter以获取primaryStage,然后使用它而不是使用Login方法的primaryStage。