JavaFx实现登录成功跳转到程序主页面

本文实例为大家分享了JavaFx实现登录成功跳转到程序主页面的具体代码,供大家参考,具体内容如下

1、需求

登录页面在输入账号密码之后,验证账号密码时候正确,正确就跳转到应用程序的首页。
文笔不行,可能没怎么写清楚,欢迎在下面讨论

效果如下图:

2、实现

1)、LoginApplication为启动类,启动之后进入到登录页面

public class LoginApplication extends Application {     @Override     public void start(Stage stage) throws IOException {         AnchorPane Login = FXMLLoader.load(getClass().getClassLoader().getResource("FXML/Login/Login.fxml"));         Scene login = new Scene(Login);         stage.setTitle("登录");//设置标题         stage.setScene(login);         stage.show();     }     public static void main(String[] args) {         launch(args);     } }

2)、LoginController 类进行判断密码的正确性,当密码正确的时候关闭登录窗口,打开主页面窗口
 

public class LoginController {     @FXML     private TextField NumberTextField;     @FXML     private TextField PasswordTextField;     @FXML     private Label MessageLabel;     @FXML     private Button LoginButton;     public void loginButtonClick(ActionEvent event) throws IOException {         String number = NumberTextField.getText();         String password = PasswordTextField.getText();         if (number != null && !number.equals("") && password != null && !password.equals("")) {             boolean login = LoginJudge.Login(number, password);             if (login == true){                 MessageLabel.setText("登录成功");                 Stage primaryStage=(Stage)LoginButton.getScene().getWindow();//将submit(登录按钮)与MainApplication类中的primaryStage(新窗口)绑定 并执行close()                 primaryStage.close();//打开新的窗口 所以要关闭当前的窗口                 MainApplication mainApplication = new MainApplication();//新窗口类                 mainApplication.MainApp();//打开新窗口             }else {                 MessageLabel.setText("账号或密码错误");             }         }else {             MessageLabel.setText("请输入账号或密码");         }     } }

3)、MainApplication为主页面的类,LoginController调用这个类来启动主页面

public class MainApplication {     public void MainApp() throws IOException {         AnchorPane root = FXMLLoader.load(getClass().getClassLoader().getResource("FXML/Main.fxml"));         Scene scene = new Scene(root);         scene.getStylesheets().add(getClass().getResource("/CSS/MainCss.css").toExternalForm());         Stage stage = new Stage();         stage.setTitle("技术支持工作台");//设置标题         stage.setScene(scene);         stage.show();     } }

推荐阅读