我正在尝试创建一个加载窗口。但是我有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();
添加回答
举报
0/150
提交
取消