JavaFX - 如何在同一窗口中打开一个新阶段?

时间:2016-10-12 09:32:06

标签: javafx modal-dialog stage

我是初学者,我不知道如何在javaFX8中的同一窗口中打开新的stage

Stage modal_stage = new Stage();
modal_stage.setScene(new Scene(root, 500, 575));
modal_stage.setTitle("modal");
modal_stage.initModality(Modality.APPLICATION_MODAL);
modal_stage.initOwner(modal_stage.getOwner());
modal_stage.setResizable(false);
modal_stage.show();

当我通过上面的代码打开一个新的stage时,stage总是在差异窗口中打开,如下所示:

enter image description here

但我希望新舞台不会在StartMenu任务栏中创建一个新图标,就像Swing的Jframe对话框---无论我在jframe下打开多少个对话框,它总是显示为一个窗口。那我该怎么办? 对不起,我不是很擅长英语,我希望我澄清了这个问题。

1 个答案:

答案 0 :(得分:1)

假设你有一个父级:

Stage parentStage = new Stage();

孩子舞台:

Stage childStage = new Stage();

您必须将childStage的init所有者设置为父级:

childStage.initOwner(parent);

提及必须在显示childStage之前调用上述内容。

另请注意,执行此操作时,您会遇到一些行为,例如当parent子项最小化时,childStage也会被最小化。