JavaFX如何从SceneBuilder设置ImageView[英] JavaFX How set ImageView from SceneBuilder

问题描述

正如我在 SceneBuilder 中看到的,您可以为 ImageView 设置图形(尽管如果您将项目导出为 .jar 并且您将图像放入 jar 中,则该图像将不起作用).

1)我想通过 SceneBuilder 为某些 fxml 按钮设置图像,但我找不到任何相关信息.

2)另外如果您提供有关如何处理 .fxml 我如何处理 getClass().getResource("image.png"); 的信息,这将很有用,因此我不必手动对 java 文件执行此操作.

<块引用>

编辑:

Fabian 和 John Vernee 的两个答案对于问题 1 和 2 都是正确的,但我只能选择一个.

资源文件夹结构:

在此处输入图片描述

推荐答案

在 SceneBuilder 中,将要使用的 graphic 节点(在本例中为 ImageView)从 Library 拖到 Button 在 层次结构 视图中.将其放在那里,您应该会看到 graphic 节点显示为 Button 的子节点.

这将导致像这样的 fxml

...
<Button mnemonicParsing="false" text="Button">
    <graphic>
        <ImageView fitHeight="150.0" fitWidth="200.0" pickOnBounds="true" preserveRatio="true" />
    </graphic>
</Button>
...

通过使用 ImageView 的图像属性旁边的齿轮按钮,您可以通过选择 切换到文档相对路径 来指定以 @ 开头的图像 url.为 url @image.png 输入 image.png.将 fxml 保存到相对于图像的正确位置将在 SceneBuilder 中显示图像.

本文地址:https://www.itbaoku.cn/post/978538.html