2

私はスイングで小さなアプリケーションを書いています。私はRatpoisonをウィンドウ マネージャ (wmname LG3D) として使用し、Netbeans を IDE として使用しています。KDE から、または Netbeans から直接起動したときのアプリケーション フォントは問題ないように見えます。ラットポイズンから始めて、次のようになります。

スクリーンショット http://img195.imageshack.us/img195/8079/swingfontsratpoison.png クリックするとフルサイズになります

4

2 に答える 2

0

KDE は、起動時にシステムにフォントを追加している可能性があります。

これを KDE と ratpoison で実行します。

fc-list -v  | grep "file:\|fullname:\|^$"

フォント リストを比較して、不足しているものを確認します。

欠落しているディレクトリがある場合は、それを /etc/fonts/fonts.conf の新しいエントリに追加します。

いくつかのフォントが不足している場合は、 ~/.fonts にコピーできます (このディレクトリが fonts.conf で構成されていると仮定します)。

すべてのフォントが同じ場合は、/etc/fonts/conf.d 内のすべての構成を一時ディレクトリに移動して実行してみてください。

fc-cache -f

そしてテスト。

見栄えが良い場合は、構成をもう 1 つ追加し直し、 fc-cache -f を再度実行し、Java アプリを再起動してテストします。

Java フォントを壊す構成が見つかるまで繰り返します。最終的には、Java を壊すものを除いたすべての構成が必要です。

通常、Javaが盲目的に使用するフォントを優先として設定する構成は、より良いフォントよりも優先されます。

于 2012-06-21T14:02:25.940 に答える
0

実際、Swing では任意のシステム フォントを使用できます。

簡単に、次の 1 つの文を追加するだけです: yourComponent.setFont(new Font("Tahoma", Font.BOLD|Font.ITALIC, 16));

または、全体的な設定を変更することもできます: UIManager.put("label.font", new Font("Tahoma", Font.BOLD, 16));

put メソッドの「キー」は通常、変更したいものを示す文字列です: label.font、button.font、label.color、textfield.font など。すべて小さなケースです。

そして、最初にjava.awt.Fontおよび/またはjavax.swing.UIManagerをインポートすることを忘れないでください!

于 2012-12-06T10:21:06.193 に答える