JavaFX如何从SceneBuilder设置ImageView
正如我在SceneBuilder
看到的,您可以为ImageView
设置图形(尽管如果将项目导出为.jar并且将图像导入jar中,该图像将不起作用)。
1) 我想通过SceneBuilder
为一些fxml按钮设置图像,但我找不到任何相关内容。
2)如果你提供有关如何处理.fxml
信息,如果你对getClass().getResource("image.png");
做什么,它将是有用的.fxml
getClass().getResource("image.png");
,所以我不必手动在java文件上这样做。
编辑:
对于问题1和2, Fabian和John Vernee的答案都是正确的,但我只能选择一个。
资源文件夹的结构:
在SceneBuilder中,将要使用的graphic
节点(在本例中为ImageView
)从“ 库”拖动到“ 层次结构”视图中的“ Button
”。 将它放在那里你应该看到graphic
节点显示为Button
的子节点。
这将导致像这样的fxml
... ...
通过使用ImageView
图像属性旁边的齿轮按钮,您可以通过选择切换到文档相对路径来指定以@
开头的图像URL。 输入url @image.png
。 将fxml保存到相对于图像的正确位置将在SceneBuilder中显示图像。
您可以在FXML中设置ImageView
的URL,如下所示:
它将与图像的FXML文件位于同一文件夹中。
您可以通过从FXML引用它来设置Button
的图形:
我正在使用apache maven的eclipse插件来构建我的jar,使用javafx-jar-plugin
。
如果您之前使用过maven,可以在pom.xml
使用此插件:
com.zenjava javafx-maven-plugin 8.5.0 application.MainFXML
我已将FXML文件和图像放在src/main/resources
下的同一文件夹中,因此它们会被包含在jar中。
使用jfx:jar
目标运行maven build。