javafx-2 - 阻塞父阶段直到子阶段关闭

标签 javafx-2 javafx fxml

我有一个 Controller ,我的按钮的 Action 事件在该 Controller 上打开一个子阶段。问题是当我关闭父阶段时,子阶段也会关闭。只要子阶段打开,我就想防止父阶段关闭。

enter image description here

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/

相关文章:

JavaFx 根据 Java 线程的通知更新 UI

java - 当 setResizing 为 false 时,AnchorPane 显示白色边框 (JavaFX)

model-view-controller - 游戏逻辑应该位于 JavaFx 应用程序中的哪个位置?

javafx-8 - VBox 中的按钮重叠

java - 如何在 Java FX FXML 应用程序中的模型和 View 之间进行通信?

css - JavaFX CSS 悬停与 onMouseEntered

java - SimpleStringProperty set() 与 setValue()

JavaFX - 为什么将节点多次添加到一个 Pane 或添加到不同的 Pane 会导致错误?

javafx-2 - 如何创建类似于 JGrowl 的用户通知消息

java - 方形单元格的方形 GridPane