如何锁定子阶段直到新的子阶段关闭

How to lock child stage until new child stage get closed

我能够使用以下代码锁定父阶段,直到子阶段关闭。 我尝试了以下代码来锁定父 Stage 并成功完成。

stage.initModality(Modality.WINDOW_MODAL);
stage.initOwner(primaryStage);

public static Stage primaryStage;

@Override
public void start(Stage primaryStage) 
{
    this.primaryStage = primaryStage;
    ...
}

以上代码用于锁定父Stage。 但是,如果我有一个根子阶段,如何锁定子阶段?

Modality 枚举定义了 3 种类型 NONE、WINDOW_MODAL 和 APPLICATION_MODAL。当使用 APPLICATION_MODAL 时,window 将对应用程序中的所有其他 windows 模态化。这意味着它将始终位于顶部,并且当此 window 打开时您不能使用您的应用程序的另一个 window。

NONE,WINDOW_MODAL,APPLICATION_MODAL 只需更改 Node.initModality(Modality.APPLICATION_MODAL);使子阶段无法访问