我在使用 JavaFX
GUI 样式表时遇到问题。
我的样式表无法加载,并且出现此错误:
com.sun.javafx.css.StyleManager loadStylesheetUnPrivileged
WARNING: Resource "file:images\stylesheet.css" not found.
我尝试将 stylesheet.css 放在与图像相同的文件夹中。图片没有问题,但是找不到样式表。
scene.getStylesheets().add("images\\stylesheet.css");
我也尝试过这个:
scene.getStylesheets().add("file:images\\stylesheet.css");
和:
scene.getStylesheets().add("file:///images/stylesheet.css");
我还尝试了不同的文件夹,例如 .java
文件所在的文件夹。
似乎没有什么效果。就像 Eclipse
无法识别样式表一样。
最佳答案
问题是java的com.sun.javafx.css.StyleManager
可以处理URL,但它不能很好地将File.toString()转换为URL,所以你必须向其传递一个已经转换为文件、URL 并转换回字符串的字符串。因此,当它将字符串解析为 URL 时,它不会因空格字符而阻塞。
这有效:
String fontSheet = fileToStylesheetString( new File ("location") );
if ( fontSheet == null ) {
//Do Whatever you want with logging/errors/etc.
} else {
scene.getStylesheets().add( fontSheet );
}
public String fileToStylesheetString ( File stylesheetFile ) {
try {
return stylesheetFile.toURI().toURL().toString();
} catch ( MalformedURLException e ) {
return null;
}
}
关于java - eclipse JavaFX css 资源未找到,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33434588/