java—用于取消弹出并将主阶段返回到焦点的事件的侦听器

gg58donl  于 2021-07-08  发布在  Java
关注(0)|答案(1)|浏览(370)

这个问题在这里已经有了答案

当舞台再次聚焦并加载场景时检测(1个答案)
上个月关门了。
我有一个初级阶段,上面可以显示弹出窗口。当弹出窗口显示时,主阶段被阻止,并且在任何操作中都不作出React。以下一种方式编写的弹出窗口:

private static Stage chooseBreedStage;
    static {
        chooseBreedStage = new Stage();
        chooseBreedStage.setTitle("Choose breed");
        chooseBreedStage.initOwner(AppKitty.getStage());
        chooseBreedStage.initModality(Modality.WINDOW_MODAL);
        chooseBreedStage.setScene(SceneManager.getInstance().getScene(SceneEnum.CHOOSE_BREED_SCREEN));
    }

    public void showChooseBreedPopup() {
        chooseBreedStage.showAndWait();
    }

是否有任何方法或侦听器来处理事件,当弹出窗口关闭时,焦点返回到主阶段并加载其fxml文件?我所说的“fxml file is loaded”是指在它的控制器中由@fxml注解的元素不等于null并且可以更改

zengzsys

zengzsys1#

将modality.window\ model更改为application\ model

private static Stage chooseBreedStage;
static {
    chooseBreedStage = new Stage();
    chooseBreedStage.setTitle("Choose breed");
    chooseBreedStage.initOwner(AppKitty.getStage());
    chooseBreedStage.initModality(Modality.APPLICATION_MODEL);
    chooseBreedStage.setScene(SceneManager.getInstance().getScene(SceneEnum.CHOOSE_BREED_SCREEN));
}

public void showChooseBreedPopup() {
    chooseBreedStage.showAndWait();
}

相关问题