Java 确定单击菜单项的窗口
玩我的第一个JavaFX应用程序。在Java8上运行它,但这不应该是这个问题的问题 我的问题是: 我有一个场景(FXML),其中有一个菜单和菜单项。按下菜单项时,将显示一个新窗口或弹出窗口。这很好,但我想在新窗口处于活动状态时禁用父窗口。我想这是可能的。 我真正的问题是:从我收到的动作事件中确定父窗口。因为事件来自菜单项,所以看起来有点问题。可能是个很愚蠢的问题 我的代码片段:Java 确定单击菜单项的窗口,java,javafx-8,Java,Javafx 8,玩我的第一个JavaFX应用程序。在Java8上运行它,但这不应该是这个问题的问题 我的问题是: 我有一个场景(FXML),其中有一个菜单和菜单项。按下菜单项时,将显示一个新窗口或弹出窗口。这很好,但我想在新窗口处于活动状态时禁用父窗口。我想这是可能的。 我真正的问题是:从我收到的动作事件中确定父窗口。因为事件来自菜单项,所以看起来有点问题。可能是个很愚蠢的问题 我的代码片段: Stage stage = new Stage(); Parent root = FXMLLoader.load(Eb
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();
将源强制转换为节点会导致类强制转换异常。但我不知道该走哪条路
谢谢。我已经摆弄了一段时间,但没有成功。 最后,我使用以下代码完成了它:
@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();
不是我喜欢的那种方式。但是它是有效的。你会得到什么例外?您是否尝试过调试如何从事件源访问该节点?这是一个类强制转换异常,表示无法将MenuItem强制转换为节点。请查看此线程:是。从这个线程中,我得到了当前的非工作解决方案。问题在于菜单的行为与普通按钮不同。