本篇文章小编给大家分享一下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();
}
}
ubuntu终端背景图片怎么设置? ubuntu16.04终端窗口设置背景的教程
GPT-5.3-Codex、GPT-5.2 与 Claude Opus 4.6 在真实重构任务中表现如何?
AI 明明提升了效率,为何人却更疲惫?解析 5 个机制与 9 项自检
GPT-5-Codex、Claude Sonnet 4.5 与 Kimi K2 在真实重构任务中谁更强?
多 MySQL MCP Server 如何实现多数据库连接、只读模式和 SQL 注入防护?
SQLGuard MCP 如何在 AI 与数据库之间拦截危险 SQL?