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

软件发布|下载排行|最新软件

当前位置:首页IT学院IT技术

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

辞舟舟舟舟舟   2022-06-20 我要评论

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();
    }
}

Copyright 2022 版权所有 软件发布 访问手机版

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 联系我们