JavaFX-如何在同一窗口中打开新阶段?
我是一个初学者,我不知道如何在javaFX8的同一窗口中打开新的JavaFX-如何在同一窗口中打开新阶段?,javafx,modal-dialog,stage,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())
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();
当我通过上述代码打开一个新的阶段
时,阶段
总是在一个差异窗口中打开,如下所示:
但我希望新阶段不会在StartMenu任务栏中创建新图标,就像Swing的Jframe对话框一样——无论我在Jframe下打开多少对话框,它始终显示为一个窗口。那我该怎么办?
对不起,我的英语不是很好,我希望我已经澄清了这个问题。假设你有一个家长阶段:
Stage parentStage = new Stage();
儿童阶段:
Stage childStage = new Stage();
必须将childStage的初始所有者设置为父级:
childStage.initOwner(parent);
请注意,必须在显示childStage
之前调用上述命令
还要提到的是,这样做会有一些行为,比如当
父级
子级最小化时,那么子级
也会最小化。您需要将新阶段的所有者设置为现有阶段modalStage.initOwner(modalStage.getOwner())
什么都不做(你实际上在做owner=owner
)。谢谢你的提示,它正在工作!谢谢你的回答!我像这样重写代码:“modal_stage.initOwner(main_stage);”,它正在工作!谢谢,任务栏中没有双阶段