java - 読み込み - scene builder css




JavaFX 2:ライブラリの一部として配布されるSceneサブクラスにスタイルシートをロードする方法は? (2)

アンサンブルのサンプルに見られるように、私はこの構文に幸運をもたらしました:

scene.getStylesheets().addAll(Ensemble2.class.getResource("ensemble2.css").toExternalForm());

私は、他の人が使用するライブラリの一部としてそれらを配布するために、JavaFX 2クラスの多くをサブクラス化しています。 これには、スタイルシート(ライブラリの一部)をMySceneClassのすべてのインスタンスに適用する必要があります(実際の名前ではありません:-))、正しいパスマジックを見つけることができません。 私は変種を試しました:

mySceneInstance.getStylesheets.addAll("/com/mine/css/MySceneClass.css")

com.mine.cssはライブラリのパッケージです:私が試したバリアントには、スラッシュが含まれていないので、パスの先頭部分をトリミングします。 しかし、私はいつもメッセージを受け取ります:

WARNING: com.sun.javafx.css.StyleManager loadStylesheet Resource "/com/mine/css/MySceneClass.css" not found.

私はまた、スタブCssクラスをCSSパッケージに入れてみました。

com.mine.css.Css.getResource("Scene.css")

getStyleSheets.addAll(...)に渡すことができるURLを取得しますが、そうすると次のようなメッセージが表示されます:

WARNING: com.sun.javafx.css.StyleManager loadStylesheet Resource "../css/Scene.css" not found.

これは非常に混乱しています。なぜなら、getResourceはファイルを正しく識別しているようですが、まだロードできません。

これはOS X上での現在のdevのプレビュー(私はバージョンが2.1 09だと思う)です。

助けてくれてありがとう、ケン


最後に、Intellij IDEA CEの問題を追跡し、デフォルトでは、ソースからターゲットディレクトリにコピーする必要があるリソースとしてCSSファイルを認識しませ 。 認識されたリソースタイプのリストに* .cssパターンを追加することで問題は解決されました。





javafx