JavaFX图像加载错误

时间:2015-02-25 16:34:54

标签: java css javafx raspberry-pi

我正在尝试在JavaFX中实现一个非常简单的Raspberry Pi接口。我正在使用基于.fxml的布局并使用css为我的项目设置样式。我的问题是尽管应用程序在我的主计算机上完美运行(从eclipse运行),它不能在Raspberry上工作,也不能在主计算机上运行导出的jar。

这就是我按下按钮的方式。 Ofcourse resources / images文件夹在我的构建路径中。按钮具有我在css中描述的颜色,但图像未加载。

.imageButton1 {
-fx-background-color: blue;
-fx-graphic: url('file:resources/images/temperature.png');}

它给我以下错误:

  

警告:加载图片时出错:file:resources / images / temperature.png

我将项目上传到dropbox

2 个答案:

答案 0 :(得分:1)

项目的问题在资源文件夹中。在源文件夹之外找不到。

这就是我的工作方式:

在NetBeans中创建了一个JavaFX项目,并将资源文件夹移动到源代码中。所以这是源包:

-Source Packages
    +me.noip.blase
    +me.noip.blase.view
    +resources.images

然后将所有引用从file:更改为" /":

primaryStage.getIcons().add(new Image("/resources/images/icon.png"));

和css文件:

.imageButton1 {
        -fx-background-color: blue;
        -fx-graphic: url('/resources/images/temperature.png');
}
.imageButton2 {
        -fx-graphic: url('/resources/images/gear.png');
        -fx-background-color: red;
}
.imageButton3 {
        -fx-graphic: url('/resources/images/power.png');
        -fx-background-color: black;
}

.imageButton4 {
        -fx-graphic: url('/resources/images/diagram.png');
        -fx-background-color: green;
}

现在它在桌面和Raspberry Pi中都能正常工作。

答案 1 :(得分:0)

我会接受您的解决方案作为答案,我尝试导入NetBeans并且它有效,但我无法在Eclipse下重现。同时我在这里发现了另一个问题,并按照该解决方案进行操作(我不知道我之前是怎么找不到的,我用谷歌搜索了一天)

如果有其他人搜索此内容,我会留下here

非常感谢您的时间和帮助:)