JavaFx 并发事件

JavaFx Concurrency Event

我在 JavaFx 代码中遇到问题。 我有一个对话框。其中有 2 个按钮立即更新和稍后更新。 我的问题是:当我点击“稍后更新”时,对话框应该关闭,30 分钟后它应该再次弹出相同的对话框。 我的主线程将只有 运行。每当我点击稍后更新时,我只需要在 30 分钟后再次提醒它。

请帮助我如何在 javaFx 中做到这一点。

ButtonType[] buttonTypes = new ButtonType[2];
buttonTypes[0] =  new ButtonType("Update Now", ButtonData.OK_DONE);
buttonTypes[1] = new ButtonType("Update Later", ButtonData.CANCEL_CLOSE);
EventHandler[] eventHandlers = new EventHandler[2];
eventHandlers[0] = new EventHandler<ActionEvent>() {
                @Override
                public void handle(ActionEvent event) {
                   ;
                }
            };
                    
eventHandlers[1] = new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent event) {
 }
 };     
Dialog.AlertDialog(Alert.AlertType.CONFIRMATION, Main.productName, "Update Confirmation", "New Update is available. DO you want to update ?", buttonTypes, Modality.APPLICATION_MODAL, StageStyle.DECORATED, stage, eventHandlers);

要在一段时间后做某事,请使用 PauseTransition

在这种情况下,你可以这样做

public void handle(ActionEvent event) {
    PauseTransition delay = new PauseTransition(Duration.minutes(30));
    delay.setOnFinished(evt -> {
        // whatever you need to do in 30 minutes....
    });
    delay.play();
}