【发布时间】:2021-04-02 22:10:46
【问题描述】:
我是 JavaFX 的新手,每次按下按钮时我都在尝试,first,它会在标签上显示一些信息,然后 换个场景。 实际上一切都很好,但我只是找不到如何在更改场景之前等待特定的时间。
我尝试像这样使用 Thread.sleep() :(它等待正常,但不知何故它不会改变标签的文本)
@FXML
public void pressButton(ActionEvent event) throws IOException, InterruptedException {
user = new User(inUsername.getText(),inPassword.getText());
lLeftBottom.setText(user.getUserInfo());
Thread.sleep(2000);
changeScene2(event);
}
(编辑,感谢Slaw关于pause()的actionEvent问题的解决方案)
我也尝试了JavaFX的暂停方法,但它没有等待,仍然立即跳转另一个场景
@FXML
public void pressButton(ActionEvent event) throws IOException, InterruptedException {
user = new User(inUsername.getText(),inPassword.getText());
PauseTransition pause = new PauseTransition(Duration.seconds(3));
pause.setOnFinished(e ->{
lLeftBottom.setText(user.getUserInfo());
});
pause.play();
changeScene2(event);
}
我怎样才能让这个延迟?
【问题讨论】:
-
是的,谢谢你解决了这个错误。但是我按下按钮它并没有等待,它仍然立即跳转另一个场景
-
onFinished处理程序中的代码在暂停后(当暂停结束时)执行,因此您可以向后执行。 -
非常感谢,我知道暂停现在是如何工作的,这解决了我的问题!
标签: java javafx wait sleep pause