私は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」を定義するファイルオブジェクトはどこにありますか。これらのファイルをロードしたかったのですが、エラーが発生しました。
私の Application サブクラスでは:
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 ファイルを読み取ることができますが、それはより良い方法であると思います。
ご協力いただきありがとうございます。