我有一个 Controller ,我的按钮的 Action 事件在该 Controller 上打开一个子阶段。问题是当我关闭父阶段时,子阶段也会关闭。只要子阶段打开,我就想防止父阶段关闭。
URL url = getClass().getResource("Message.fxml");
FXMLLoader fxmlLoader = new FXMLLoader();
fxmlLoader.setLocation(url);
fxmlLoader.setBuilderFactory(new JavaFXBuilderFactory());
root = (Parent)fxmlLoader.load(url.openStream());
Stage stage = new Stage();
//stage.initStyle(StageStyle.UNDECORATED);
//stage.setFullScreen(true);
stage.setTitle("Welcome User");
stage.setScene(new Scene(root, 675,
stage.show();
最佳答案
设置如下:
stage.initModality(Modality.WINDOW_MODAL);
stage.initOwner(primaryStage);
你可以通过将它放在主类中的静态变量来获取primaryStage:
public static Stage primaryStage;
@Override
public void start(Stage primaryStage) {
this.primaryStage = primaryStage;
...
}
然后
stage.initOwner(MainApp.primaryStage);
关于javafx-2 - 阻塞父阶段直到子阶段关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19953306/