プロジェクト

全般

プロフィール

調査 #92

未完了

JavaFXアプリケーション展開時(JLINK)にCSSファイルを外だししてユーザーが編集できるようにする

高橋 徹 さんがほぼ5年前に追加. 4年以上前に更新.

ステータス:
解決
優先度:
通常
担当者:
カテゴリ:
-
対象バージョン:
-
開始日:
2019/06/12
期日:
進捗率:

80%

予定工数:

説明

調査目的:JavaFXアプリケーションをJLINKで固めて配布すると、ソースディレクトリ上のCSSファイルはmodulesファイル内に格納され、取り出し編集ができない。

調査結果:

完了条件:

高橋 徹 さんが4年以上前に更新

  • ステータス新規 から 進行中 に変更
  • 担当者高橋 徹 にセット
  • 進捗率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());
}

高橋 徹 さんが4年以上前に更新

  • 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が優先されてしまうためです。

高橋 徹 さんが4年以上前に更新

  • ステータス進行中 から 解決 に変更
  • 進捗率50 から 80 に変更

他の形式にエクスポート: Atom PDF