Neonoviiwolf
пробовали в xml дать
fx:id
<Image fx:id="dialogImage" url="@image.png"/>
в коде создать переменную в классе контролера
@FXML
private Image dialogImage;
и просто у ее вызвать метод
if (dialogImage != null) {
System.err.println(String.format("The image url: %s",
dialogImage.impl_getUrl()));
}
вроде дает же правильный ответ что то типа:
The image url: file:/<путь к моему проекту>/src/main/resources/image.png
a для каста Node в напр. ImageView посадите fx:id на Label
<Label fx:id="dialogImageLabel">
<graphic>
<ImageView fx:id="dialogImageView" fitHeight="128" fitWidth="128" pickOnBounds="true" preserveRatio="true">
<image>
<Image fx:id="dialogImage" url="@watchglass.png"/>
</image>
</ImageView>
</graphic>
</Label>
и
for (int i = 0; i != dialogImageLabel.getChildrenUnmodifiable()
.size(); i++) {
Node itemNode = dialogImageLabel.getChildrenUnmodifiable().get(i);
if (itemNode.getClass().getName().equals("javafx.scene.image.ImageView")) {
ImageView imageView = (ImageView) itemNode;
System.err.println(String.format("The child image url: %s",
imageView.getImage().impl_getUrl()));
}
}
то же самое
The child image url: file:/<путь к проекту>/src/main/resources/картина.png