确定单击菜单项的窗口

时间:2014-01-29 06:39:39

标签: java javafx-8

使用我的第一个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会产生类转换异常。但我不知道应该采取哪种其他方式。

感谢。

1 个答案:

答案 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();

不是我想要的方式。但它确实有效。