我正在尝试使用javafx
创建倒计时。
一旦计时器到达00:00,我希望计时器停止并切换到Scene3。
这是我的代码。我尝试在actionEvent
中使用primaryStage.setScene(scene3),它可以工作,但在timerTask中不能工作。计时器有效,但我无法切换场景
public static void timer1(Text text, int minutes1, int seconds1, GridPane Grid2, Stage primaryStage)
{
final Timer timer= new Timer();
final TimerTask task=new TimerTask() {
@Override
public void run() {
seconds--;
if (seconds<0) {
minutes-=1;
seconds=59;
}
if (minutes<0) {
minutes=59;
seconds=59;
}
if(minutes==0&&seconds<11)
Grid2.setStyle("-fx-background-color: #FF0000;");
if(minutes==0&&seconds==0) {
primaryStage.setScene(scene3);
timer.cancel();
timer.purge();
}
text.setText("");
//String hoursformatted = String.format("%02d", hours);
String minutesformatted = String.format("%02d", minutes);
String secondsformatted = String.format("%02d", seconds);
text.setText(minutesformatted+":"+secondsformatted);
}
};
timer.schedule(task,0, 1000);
}