java - 如何从 MenuItem On Action 方法调用 Stage.initOwner()?

标签 java user-interface javafx

我刚来自Is There any Way to Create A Child Window That Has the Same Properties as the Parent?我尝试调用stage.initOwner(((Node) event.getSource()).getScene().getWindow());但它不起作用,我得到了一个异常(exception)。我认为我没有正确使用它。我应该如何尝试从 onAction 方法调用它?

原始代码块:

@FXML
private void onNewClanCreation(ActionEvent event) throws IOException {
Parent root = FXMLLoader.load(getClass().getResource("ClanCreationPanel.fxml"));
Stage stage = new Stage();
stage.setScene(new Scene(root));
stage.initOwner(((Node) event.getSource()).getScene().getWindow());
stage.setResizable(false);
stage.setTitle("New Clan Creation");
stage.show();
}

异常(exception):

`Caused by: java.lang.ClassCastException: javafx.scene.control.MenuItem cannot be cast to javafx.scene.Node at com.gmail.physicistsarah.program.core.ControlPanelController.onNewClanCreation(ControlPanelController.java:65)
... 54 more`

编辑:添加了 stage.initOwner

最佳答案

这有效: stage.initOwner(this.nameLabel.getScene().getWindow()); 谢谢@ItachiUchiha

关于java - 如何从 MenuItem On Action 方法调用 Stage.initOwner()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23851845/

相关文章:

java - 如何从没有提交按钮的情况下调用 Struts2 操作

java - 使用 Java 和 Ruby 实现 JSON 中的多态性或继承

java - 自定义JavaFX(JDK 8)中的现有控件

java - 如何在 JavaFX 中将 GUI 覆盖在 3D 场景上?

java - HTTP 直播流在 JavaFX 应用程序中不起作用

Java/Grails - MongoDB 聚合 16MB 缓冲区大小限制

java - 如何使用hibernate在sql查询 "date like :today "中的where条件中使用setParameter作为日期字段

Java:如何使 make 覆盖我从 GUI 内部读取的同一文件?

iphone - IOS中UI实现查询

iphone - 用 opengl ES 为 iphone 制作了一个 2d 游戏。我应该使用 uikit 作为其之上的界面吗?