【问题标题】:Add image from java using fxml file created in scene builder使用在场景构建器中创建的 fxml 文件从 java 添加图像
【发布时间】:2013-03-17 16:00:12
【问题描述】:

如果我想从 java 将图像节点添加到 fxml(在场景构建器中创建)文件,我该如何实现?

private ImageView close;
private ImageView close;
Image i = new Image(“file:C:\\Users\\Tarun\\Desktop\\Close-icon.png”);
close = new ImageView();
close.setImage(i);
close.setFitHeight(20);
close.setFitWidth(20);
close.setX(570);
close.setY(10);
Parent root = FXMLLoader.load(getClass().getResource(“table.fxml”));
Scene scene = new Scene(root);
stage.setScene(scene);
stage.show();

我知道有一些方法 root.getchidren.add(close) 但在这里我无法实现此方法。

【问题讨论】:

  • root.getchidren.add(close) 有什么问题?
  • @gontrad 当我尝试编写 root.getChildren.add(close) 时,它给了我错误消息“让孩子在父母中受保护的访问”。

标签: java javafx-2 javafx fxml scenebuilder


【解决方案1】:

您需要将Parent 转换为适当的类。例如

AnchorPane root = (AnchorPane)FXMLLoader.load(getClass().getResource(“table.fxml”));
root.getChidren.add(close);

【讨论】:

  • 这不可能是不修改 fxml 文件的解决方案,因为 root 是同一个实例。
  • 你只需要在fxml文件中选择一个相同的布局类
  • 在大多数情况下Pane 也可以工作,因为它是除 Group 之外的所有内容的父级。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-12-06
  • 2017-07-25
  • 2018-04-06
  • 1970-01-01
  • 1970-01-01
  • 2020-07-02
相关资源
最近更新 更多