調査 #92
未完了
JavaFXアプリケーション展開時(JLINK)にCSSファイルを外だししてユーザーが編集できるようにする
高橋 徹 さんがほぼ5年前に追加.
4年以上前に更新.
説明
調査目的:JavaFXアプリケーションをJLINKで固めて配布すると、ソースディレクトリ上のCSSファイルはmodulesファイル内に格納され、取り出し編集ができない。
調査結果:
完了条件:
- ステータス を 新規 から 進行中 に変更
- 担当者 を 高橋 徹 にセット
- 進捗率 を 0 から 50 に変更
- CSSファイルをSceneに設定している場合に、アプリ実行時のカレントディレクトリ上にあるCSSファイルを読む
Parent root = FXMLLoader.load(MyApp.class.getReseource("MyView.fxml"));
Scene scene = new Scene(root);
scene.getStyleSheets().add(getClass().getResource("MyView.css").toExternalForm());
Path cssFile = Paths.get("MyView2.css");
if (Files.exist(cssFile)) {
scene.getStyleSheets().add(cssFile.toUri().toString());
}
- SceneのrootにCSSファイルを設定している場合
Path path = Paths.get("MyView2.css);
if (Files.exists(path)) {
scene.getRoot().getStylesheets().add(path.toUri().toString());
}
これは、FXML側でCSSファイルを設定している場合が該当します。FXMLはSceneではなく、最上位のノード(root)にCSSを設定します。これは、SceneにCSSを設定してもrootに設定したCSSが優先されてしまうためです。
- ステータス を 進行中 から 解決 に変更
- 進捗率 を 50 から 80 に変更
他の形式にエクスポート: Atom
PDF