如何在一定时间后关闭阶段 JavaFX

2023-11-25

我目前正在使用两个控制器类。

在 Controller1 中,它创建了一个在主阶段之上打开的新阶段。

Stage stage = new Stage();
Parent root = FXMLLoader.load(getClass().getResource("Controller2.fxml"));
Scene scene = new Scene(root);
stage.setScene(scene);
stage.show();

现在,一旦该阶段打开,我希望它在自行关闭之前保持打开状态约 5 秒。

在 Controller2 中,我尝试实现类似的东西

long mTime = System.currentTimeMillis();
long end = mTime + 5000; // 5 seconds 

while (System.currentTimeMillis() > end) 
{
      //close this stage  
} 

但我不知道在 while 循环中放入什么来关闭它。我已经尝试了各种方法,但没有任何效果。


Use a PauseTransition:

PauseTransition delay = new PauseTransition(Duration.seconds(5));
delay.setOnFinished( event -> stage.close() );
delay.play();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在一定时间后关闭阶段 JavaFX 的相关文章

随机推荐