【发布时间】:2018-12-25 18:55:48
【问题描述】:
我试图避免使用 SceneBuilder 将图像加载到场景中。在 SceneBuilder 中,我为 ImageView 创建了一个位置,并为其分配了一个 fx id,然后将该 fx id 声明为“icon”,并对我想从控制器类调用 ImageView/image 的控制器类执行相同的操作。我试过了
@FXML
ImageView icon;
Image image = new Image("../basketball.jpg");
icon.setImage(image);
我不知道解决方案是什么,那么有没有一种简单的方法可以在没有 SceneBuilder 直接浏览图像的情况下做到这一点?我的 .jpg 文件位于项目的顶部,而不是特定文件夹中。我认为这很简单,因为我的 .jpg 文件包含在我的 eclipse 项目中。
【问题讨论】:
-
如果图像位于类路径的根目录,那么它应该是
new Image("/basketball.jpg")。 -
我需要在某处添加 URL 吗?到目前为止,似乎没有什么对我有用
-
确保图像是类路径的一部分。如果您使用的是 Maven 或 Gradle 等构建工具,那么它应该位于
src/main/resources目录下。不幸的是,如果您使用的是纯 Eclipse,我不知道 Eclipse 是如何配置项目目录的。
标签: javafx