使用我的第一个JavaFX应用程序。在Java8上运行它,但这不应该是关于这个问题的问题。
我的问题: 我有一个场景(FXML),其中存在菜单和菜单项。当按下菜单项时,应显示新窗口或弹出窗口。这很好用,但我想在新窗口处于活动状态时禁用父窗口。用模态可以看出这是可能的。 我真正的问题是:从我收到的动作事件中确定父窗口。因为事件来自菜单项,所以看起来有点问题。可能是一个非常愚蠢的问题。
我的代码段:
Stage stage = new Stage();
Parent root = FXMLLoader.load(EbooksdownloaderController.class.getResource("about.fxml"));
stage.setScene(new Scene(root));
stage.initModality(Modality.WINDOW_MODAL);
stage.initOwner(((Node)event.getSource()).getScene().getWindow());
stage.show();
将源转换为Node会产生类转换异常。但我不知道应该采取哪种其他方式。
感谢。
答案 0 :(得分:0)
一直在摆弄一段时间没有任何成功。 作为最后的手段,我使用以下代码完成了它:
@FXML
private AnchorPane ap;
Stage stage = new Stage();
Parent root = FXMLLoader.load(EbooksdownloaderController.class.getResource("about.fxml"));
stage.setScene(new Scene(root));
stage.initModality(Modality.WINDOW_MODAL);
stage.initOwner(ap.getScene().getWindow());
stage.show();
不是我想要的方式。但它确实有效。