为了账号安全,请及时绑定邮箱和手机立即绑定

如何在连接到MySQL数据库之前制作加载场景?

如何在连接到MySQL数据库之前制作加载场景?

凤凰求蛊 2022-09-01 17:26:42
我正在尝试创建一个加载窗口。但是我有MySQL驱动程序的问题。这是问题,当我添加一些对象,在我的情况下GIF(但我也尝试矩形)到我的场景(到组),然后它连接到数据库,舞台不会显示任何对象,直到数据库连接完成。我尝试了一些我在互联网上找到的例子,但没有任何效果。所以我在这里找到了帮助。这是我尝试的代码。private void afterClick() {    showLoading();    username = name.getText();    password = passField.getText();    if ((username.length() == 0) && (password.length() == 0)) {        Alert.printInformation("Nezadali jste přihlašovací údaje.");    } else if (username.length() == 0) {        Alert.printInformation("Nezadali jste login.");    } else if (password.length() == 0) {        Alert.printInformation("Nezadali jste heslo.");    } else {        DBConnection connection = new DBConnection();        if(connection.connect()){            if (check.isSelected()) {                FileStream.writeToFile("Account.txt", LoginMenu.username + ";" + LoginMenu.password, false);            } else {                FileStream.writeToFile("Account.txt", "empty", false);            }            App.showScene(MenuName.MainMenu);        }    }}void showLoading(){    ImageView loading = new ImageView(new Image("file:Wallpapers/loading.gif"));    loading.setX(App.width -100);    loading.setY(App.height - 100);    loading.setFitWidth(60);    loading.setFitHeight(60);    Stage stage = new Stage();    Group group = new Group();    Scene scene1 = new Scene(group);    group.getChildren().add(loading);    stage.setScene(scene1);    scene1.setFill(Color.TRANSPARENT);    stage.initStyle(StageStyle.TRANSPARENT);    stage.show();}
查看完整描述

1 回答

?
慕码人2483693

TA贡献1860条经验 获得超9个赞

它非常简单!您可以使用重写初始化方法进行一些“pre”移动。

class YourControllerClass implements Initializable{    @Override
    public void initialize(URL location, ResourceBundle resources) {        //Do stuff
    }
}

你还可以像这样在初始化方法 new Thread 中运行,以防止阻塞你的应用。

new Thread(() -> {
    //Your stuff
}).run();


查看完整回答
反对 回复 2022-09-01
  • 1 回答
  • 0 关注
  • 88 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信