阻止所有者窗口Java FX

我想阻止JavaFX中弹出窗口的所有者窗口。

我像这样初始化我的弹出窗口:

popUp = new Popup(); popUp.getContent().add(content); popUp.show(pane.getScene().getWindow()); 

有了这个,我仍然可以在第一个窗口(窗格窗口)中工作。 我想禁用此操作,我希望用户只在弹出窗口中工作。

这个怎么做 ?

谢谢。

使用舞台而不是弹出窗口 。

在显示阶段之前,根据需要将stage.initModality调用为APPLICATION_MODAL或WINDOW_MODAL 。 还要将stage.initOwner调用到新阶段的父窗口,以便它适当地阻止它为WINDOW_MODAL情况。

 Stage stage = new Stage(); stage.initModality(Modality.WINDOW_MODAL); stage.initOwner(pane.getScene().getWindow()); stage.setScene(new Scene(content)); stage.show(); 

谢谢,最佳解决方案:使用FXML加载文件的示例:

 @Override public void start(Stage primaryStage) throws IOException { Parent root = FXMLLoader.load(getClass().getResource("DialogView.fxml")); primaryStage.initModality(Modality.APPLICATION_MODAL); // 1 Add one Scene scene = new Scene(root); primaryStage.setScene(scene); primaryStage.initOwner(primaryStage.getScene().getWindow());// 2 Add two primaryStage.show(); } public static void main(String[] args) { launch(args); }