2013-08-23 13 views
11

JavaFXアプリケーションでどのようにフォントタイプをグローバルに設定できますか?JavaFXでフォントをグローバルに設定する

使用できる解決策はありますか? JavaFX 8では、デフォルトのフォントが変更されています.JavaFX 2.2で使用されているものと同じフォントを使用したいと思います。

+0

以下の回答のいずれかがあなたのニーズに合っている場合は、「回答済み」とマークしてください – nyyrikki

答えて

21

on the Oracle WebsiteのようにCSSを使用してアプリケーションをスキンすることができます。 あなたのアプリケーションのための一般的なテーマを設定して、次の構文を使用:以下のように

.root{ 
    -fx-font-size: 16pt; 
    -fx-font-family: "Courier New"; 
    -fx-base: rgb(132, 145, 47); 
    -fx-background: rgb(225, 228, 203); 
} 

あなたはCSSを含める:

scene.getStylesheets().add(getClass().getResource("application.css").toExternalForm()); 
4

シーンのためのデフォルトのフォントを変更する

これは、解決はnyyrikkiの答えでoutlinked。あなたはfont definition in the JavaFX CSS reference guide応じ-fx-font値に必要なものは何でも設定

.root { 
    -fx-font: 28px Vivaldi; 
} 

代替:

あなたがシーンに以下のCSSスタイルシートを適用することにより、任意のシーンでほとんどの事のために使用されるデフォルトのフォントを変更することができます。あなたがJavaFXアプリケーションでほとんどのもののために使用されるデフォルトのフォントを変更したい場合は、あなたがApplication.setUserAgentStylesheetを使用して、デフォルトのスタイルシートを無効にすることができ、アプリケーション

のためのデフォルトのフォントを変更する

。この方法を使用すると、JavaFX 8のデフォルトのスタイルシートであるmodenaスタイルシートではなく、JavaFX 8アプリケーションのデフォルトスタイルをcaspianスタイルシートに設定できます。これは、2つのデフォルトスタイルまたはカスタムデフォルトAquaFXなどのスタイルシートを使用する場合は、カスタマイズを自分で実行する必要があります。

フォントのレンダリング技術を切り替え

さらに、いくつかのプラットフォーム上で、JavaFXの2.2は2間のフォントレンダリングの微妙な違いを説明することができるのJavaFX 8とは異なるフォントレンダリングメカニズムを、使用しています。文書化されていない、サポートされていないコマンドラインスイッチがあり、JavaFX 8のフォントレンダリングメカニズムを切り替えるために使用できますが、私はスイッチがオフハンドであるかどうかわかりません。サポートされていないスイッチを使用しているアプリケーションです。

関連する問題