我正在尝试在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
答案 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。
非常感谢您的时间和帮助:)