Добавьте изображение из java, используя файл fxml, созданный в построителе сцен.

Если я хочу добавить узел изображения в файл fxml (созданный в конструкторе сцен) из java, как мне этого добиться?

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), но здесь я не могу реализовать этот метод.


person Tarun. P    schedule 17.03.2013    source источник
comment
В чем проблема с root.getchidren.add(close) ?   -  person gontard    schedule 17.03.2013
comment
@gontrad Когда я пытаюсь написать root.getChildren.add(close), мне выдается сообщение об ошибке, что у детей есть защищенный доступ в Parent.   -  person Tarun. P    schedule 18.03.2013


Ответы (1)


Вам нужно привести Parent к соответствующему классу. Например

AnchorPane root = (AnchorPane)FXMLLoader.load(getClass().getResource(“table.fxml”));
root.getChidren.add(close);
person Sergey Grinev    schedule 18.03.2013
comment
Это не может быть решением без модификации файла fxml, поскольку root — это тот же экземпляр. - person gontard; 18.03.2013
comment
Вам просто нужно выбрать тот же класс макета, что и в файле fxml. - person Sergey Grinev; 18.03.2013
comment
Также в большинстве случаев Pane будет работать как родитель для всего, кроме группы. - person Sergey Grinev; 20.05.2015