【发布时间】:2013-11-13 13:28:39
【问题描述】:
我正在开发一个 JavaFX 应用程序,目前正在从事资源管理工作。我实现了创建实用程序静态类,为我的应用程序提供字体、图像等。 但我卡在 CSS 加载上。
我的 Util 静态类定义:
public static ArrayList<String> getStyleSheets() {
return listAbsoluteFileNames(cssDir);
}
public static ArrayList<String> listAbsoluteFileNames(File dir) {
File[] listOfFiles = dir.listFiles();
ArrayList<String> list = new ArrayList<String>();
for(int i=0 ; i<listOfFiles.length ; i++) {
if(listOfFiles[i].isFile())
list.add(listOfFiles[i].getAbsolutePath());
}
return list;
}
cssDir 是一个文件对象,它定义了包含我的样式表的目录“css”。我想加载这些文件,但出现了一些错误。
在我的应用程序子类中:
stage.getScene().getStylesheets().addAll(Resources.getStyleSheets());
产生的错误:
WARNING: com.sun.javafx.css.StyleManager loadStylesheetUnPrivileged Resource "C:\Users\...\resources\css\main_menu.css" not found.
WARNING: com.sun.javafx.css.StyleManager loadStylesheetUnPrivileged Resource "C:\Users\...\resources\css\main_menu.css" not found.
解决方案 1:我可以在窗格中读取我需要的 css 文件以使用方法“setStyle(/我的 css 文件的内容/)”设置样式,但我认为这可能是一个更好的方法。
感谢您的帮助。
【问题讨论】:
-
我找到了解决方案,我没有在我的实现中使用 URL。 StyleManager 从指定路径加载文件,例如:file:///C:/.../file.css 我在已经讨论过的帖子中找到了解决方案:stackoverflow.com/questions/16236641/…
标签: java css resources javafx stylesheet