我正在开发一个 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:我可以使用“setStyle(/我的 css 文件的内容/)”方法在窗格中读取我需要的 css 文件来设置样式,但我认为这可能是一个更好的方法。
谢谢你的帮助。