Css JavaFX-无法从项目中加载图像

Css JavaFX-无法从项目中加载图像,css,eclipse,javafx,javafx-2,javafx-8,Css,Eclipse,Javafx,Javafx 2,Javafx 8,我的JavaFX项目可以在一台机器上加载映像,但相同的代码不能在另一台机器上加载映像 我有包结构(在src中)-/com/mypackagestructure/view/images/,它保存图像文件 我的CSS文件位于-/com/mypackagestructure/view/Login.CSS Login.css .root { -fx-background-image: url("/com/mypackagestructure/view/images/background.jpg

我的JavaFX项目可以在一台机器上加载映像,但相同的代码不能在另一台机器上加载映像

我有包结构(在src中)-/com/mypackagestructure/view/images/,它保存图像文件

我的CSS文件位于-/com/mypackagestructure/view/Login.CSS

Login.css
.root {
     -fx-background-image: url("/com/mypackagestructure/view/images/background.jpg");
     -fx-background-repeat: stretch;
     -fx-background-size: 100%;
     -fx-background-color: transparent;
}
我在另一台机器上有完全相同的代码(安装了相同的操作系统、相同的EclipseIDE和JDK/JRE(1.8))并且在那里工作。但在这台机器里,我得到了以下信息-

Aug 08, 2016 3:36:39 PM com.sun.javafx.css.StyleManager getCachedImage
WARNING: Error loading image: file:/com/mypackagestructure/view/images/background.jpg
在css中,如果我做了以下更改,那么它就工作了

-fx-background-image: url("images/background.jpg");

我引用图像文件的方式有什么问题?为什么它能在一台机器上工作而不能在另一台机器上工作呢?

我也遇到过和你一样的问题。这些情况有时会因为构建文件而发生,您可以尝试清理并构建它

基本上如果您定义-fx background image:url(“images/background.jpg”);然后直接引用项目包中图像的位置

如果你想用你以前的方式定义它,那么你必须用所有完整的目录写下来,例如C:\Users\NILAM\Documents\NetBeansProjects\Aplikasi arship Kesbangpol\src\Gambar\image.jpg


希望能回答你的问题。

这可能太晚了,但我通过在参考资料文件夹中创建一个名为images的文件夹[然后添加了我的logo.png]来实现这一点。并像FXML一样使用图像

<HBox fx:id="myHBox" style="-fx-background-image: url('images/logo.png')" BorderPane.alignment="CENTER" />


这对我来说没问题

是的,当我使用驱动器上的绝对路径时,它工作(C:\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\s\\Aplikasi Arsip Kesbangpol\\src\\Gambar\\image.jpgI表示运行时环境中的绝对路径,而不是来自磁盘:)(/com/../image.jpg)