2017-10-04 3 views
1

私はJavaFXの新機能です。CSSを使用してアプリケーションのアスペクトを変更しようとしています。私が別のシーンに切り替えると、CSSのクラスは適用されません。 私のプロジェクトには10​​のシーンがあるので、単一のCSSファイルを使用して、次のステートメントを使用してすべてのシーンに自分のスタイルを適用することを好みます。 StyleManager.getInstance().addUserAgentStylesheet(this.getClass().getResource("/style.css").toExternalForm());start()メソッド。 どのように私のCSSファイルが全部のシーンに適用できますか?一方、最初の行は、Application#setUserAgentStylesheetを使用して(ここではあなたも、デフォルトのスタイルシートとしてJavaFX2のカスピを設定することを選択することができる)モデナにデフォルトのスタイルシートを設定しますJavaFX - アプリケーション全体のデフォルトのCSSスタイルシートを設定する

Application.setUserAgentStylesheet(Application.STYLESHEET_MODENA); 
StyleManager.getInstance().addUserAgentStylesheet(getClass().getResource("/style.css").toString()); 

答えて

1

次の2つのラインでそれを行うことができます2行目はスタイルシートをユーザーエージェントのスタイルシートリストに追加します。

StlyeManagerはプライベートAPIであり(今もJDK9に残っているので)、最も良い解決策ではありません。


他のソリューションを使用すると、デフォルトでは、あなたのスタイルシートを追加し、その後ではなくSceneをインスタンス化することができサブクラス、あなたのサブクラスのインスタンスを作成することができているSceneを、サブクラス化することです。

関連する問題