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

以上就是本文的全部內容,希望對大傢的學習有所幫助,也希望大傢多多支持WalkonNet。

推薦閱讀: