2011-12-06 5 views
3

私は、SynthのルックアンドフィールでJavaスイングアプリケーションを開発しています。アプリケーションにはテキストが含まれている背景イメージがあり、この背景レイヤの上に「アクティブ」テキスト(JLabelのテキスト)が必要です。しかし、私が選択したフォント(Verdana)は何らかの理由でSwingにひどく描画されます。そのため、アクティブなテキストのフォントは背景のフォントと一致しません。誰かがスイングで少し滑らかなテキストを作る方法を知っていますか?私は類似の問題herehereを見つけましたが、残りのアプリケーションイメージにどのような影響があるのか​​、AWTデスクトップのプロパティを使うのか、-Dswing.aatext = trueフラグを使うのかはわかりません。どんなヒントも高く評価されます。ありがとう!Swingフォントのレンダリング

編集:私はこれをOSXとWindows 7でテストしましたが、どちらも同じ効果があります。

+2

代わりにテキストでコンポーネント(f.i. JLabel)を設定し、グラフィックスの上にラベルを表示してください – kleopatra

+0

私はもっと具体的にすべきでした。申し訳ありませんが、JLabelsのテキストはうまく描写されません。 – SuperTron

+0

@camickr - われわれが知っているように、私たちはそれに同意しない:-)デスクトップのプロパティを使用することは、どこでも正しいことを保証することなく、信じられないほど困難です。 "最高の"結果は、lafができることです。深く太陽のパッケージの中に隠されています。そのため、私はいつもJLabelを使うことをお勧めします... – kleopatra

答えて

2

これは私が信じているSwing自体の問題です。関連する質問を見てください。

FontForgeを使用してヒントを無効にすると、私の経験上役立ちます。

+1

それは私のすべてのユーザーのコンピュータ上でそのプロセスを通過することができないということで問題を参照してください:O – SuperTron

+0

SWTはあなたが切り替えることができる場合、フォントレンダリングのはるかに良い仕事を行います。それ以外の場合は、フォントレンダリングライブラリがあります。 –

+0

Linuxのヒント恐怖症:-)好奇心:awt.desktophintsを設定するとどうなりますか(http://java.sun.com/javase/6/docs/api/java/awt/doc-files/DesktopProperties.htmlを参照)オフに? – kleopatra

関連する問題