java - eclipse JavaFX css 资源未找到

标签 java css eclipse javafx

我在使用 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/

相关文章:

php - 如何在PHP中动态放置div

css - 尝试定位元素不起作用

android - 奇怪的 xml 错误 : Incorrect line ending

android - 未找到 SDK 位置。 ANDROID_HOME - 在 MAC 上的 eclipse 中构建一个 gradle 项目

java - (android) 如何在 android 上读取我的 txt 文件中的单词?

尝试运行 Web 客户端时发生 Java 错误

java - 有没有办法让这个脉冲数无限大?

css - Logo 在 iPhone 和 iPad(iOS 设备)的移动设备中消失

javax.xml.bind 无法解析

java - 如何将 Java 配置文件添加到 Eclipse 的 Papyrus 2.0.0 插件?