3

JavaFX 2.0 で CSS を使ってみました。しかし、うまくいきません。CSSファイルをインポートしようとしました:

// Import CSS
Group root = new Group();
Scene scene = new Scene(root, 300, 250, Color.LIGHTGREEN);
scene.getStylesheets().add("example.css");

ただし、NetBeans は常に次の例外をスローします。

警告: com.sun.javafx.css.StyleManager$2 run リソース "null" が見つかりません。

CSS ファイルをプロジェクト ディレクトリの src ディレクトリに置き、絶対パスを使用しようとしました。"C:\\Users\\janus\\Documents\\NetBeansProjects\\example.css"

何も問題を解決しませんでした

4

11 に答える 11

16

srcフォルダーに次を追加します。

src/resources/css/yourStyle.css

次に、次のコードを追加します。

scene.getStylesheets().add("resources/css/yourStyle.css");
于 2013-02-17T13:27:37.727 に答える
6

これは、CSSファイルが同じパッケージに含まれている場合に機能します。

scene.getStylesheets().add(YourClazz.class.getResource("myCssFile.css").toExternalForm());
于 2011-07-15T14:29:01.277 に答える
3

私もこれに問題がありましたが、次のようなもので動作しました:

String cssPath = "/com/yourdomain/resources/style.css";
scene.getStylesheets().addAll(cssPath);

cssPath の値を、css ファイルを含むパッケージと一致するように変更します。

于 2011-07-07T19:48:58.367 に答える
1

この .css の問題全体を解決できることがわかりました。NetBeans を使用している場合は、プロジェクトのプロパティ - 実行 - スタンドアロン アプリケーションのプロパティ - 作業ディレクトリに移動し、.css ファイルやメイン クラスが配置されているディレクトリへのパスを選択します。 . (Windows)がデフォルトで何を使用しているのかわかりません。おそらく一時ディレクトリです..もしそうなら、そこにはもちろん.cssファイルがなく、nullpointer例外が発生します。

于 2012-04-18T20:25:17.090 に答える
1

1 つの CSS で完全なアプリケーションのスタイルを設定する場合は、ここで解決策を見つけます: http://www.guigarage.com/2013/03/global-stylesheet-for-your-javafx-application/

于 2013-05-20T21:15:32.070 に答える
0

考えられる理由の 1 つは、実行前にプロジェクトをクリーンアップして再ビルドする必要があることです。

于 2012-04-29T10:55:40.637 に答える
0

css ファイルをさまざまな場所に配置するための提案はたくさんありますが、これが私にとってはうまくいきます。プロジェクトに追加するすべてのファイルは、NetBeans が作成するプロジェクトのホーム ディレクトリにある必要があります。たとえば、プロジェクト名が HiJohn である場合 /NetBeansProjects/HiJohn、.css ファイルをディレクトリ HiJohn に配置する必要があり、.css ファイルを使用するだけで参照できますstyle.css

私自身、NetBeans プロジェクトに resources という名前のリソース フォルダを作成しました。これにより、resources/style.css またはresources/settings.xml

それでも質問がある場合は、基本を理解するための優れたリソースをご覧ください。

http://docs.oracle.com/javafx/2/css_tutorial/jfxpub-css_tutorial.htm

幸運を!

于 2013-01-22T22:30:50.137 に答える
0

Eclipse では、次のように IDE で css ファイルを検索できることがわかりました。

ワークスペースにcssファイル用のフォルダーを作成します(現在のプロジェクトのsrcフォルダーに配置するのが最も信頼できる成功でした)。プロジェクトの [プロパティ] > [リソース] > [リンクされたリソース] で、新しい変数を作成し、既存の変数を使用して簡単なパスを定義できます (たとえば、名前: RESOURCES を作成して [変数] をクリックし、[PROJECT_LOC] を選択し、[拡張] をクリックして、フォルダーを選択/移動します)。あなたが作成したもの)。素晴らしいのは、選択した場所が Eclipse によってすぐに表示され、見つからない場所を参照しようとすると警告が表示されることです。

コードでは、パスは単に「RESOURCES/[fileName.css]」になります。

于 2013-05-14T15:58:43.187 に答える
0
"file:/"+ new File("styles/intro.css").getAbsoluteFile().getPath()
                    .replaceAll(" ", "%20");
于 2013-02-28T09:26:22.883 に答える
-1
scene.getStylesheets().add(getClass().getResource("YourCSSFile.css").toString());
于 2013-01-12T16:27:17.560 に答える