Swingコンポーネントのテキストにデフォルトのフォントがありますか?特に、JTabbedPane
のタブラベルはどうですか?Swing JTabbedPaneラベルのデフォルトフォントを取得するにはどうすればよいですか?
私はSwingで作られたGUIのモックアップに取り組んでおり、それをSwingアプリをつかんだ画面イメージとブレンドしたいと思っています。
Swingコンポーネントのテキストにデフォルトのフォントがありますか?特に、JTabbedPane
のタブラベルはどうですか?Swing JTabbedPaneラベルのデフォルトフォントを取得するにはどうすればよいですか?
私はSwingで作られたGUIのモックアップに取り組んでおり、それをSwingアプリをつかんだ画面イメージとブレンドしたいと思っています。
ルックアンドフィールによって異なります。あなたが書いたアプリケーションの場合は、UIManager.getDefaults().getFont("TabbedPane.font")
それは「ルックアンドフィール」を使用しているに依存してもよいが、私のためのスイングデフォルトのフォントが
そしてDejaVuなきある - 約12または13
にほとんどのコンポーネントについては平野フォントサイズのデフォルト設定
それはArialのようです。それはIdentifontが私に言っている通りです。
の値を得ます。UIManager Defaultsには、すべてのコンポーネントのすべてのプロパティ(「TabbedPane.font」を含む)の値が表示されます。
Reverend Gonzoの回答に基づいて、このコードを使用すると、UIDefaultsに含まれるキーを知ることができます。キーは自明ですので、どのキーを使用できるか分かります。たとえば、JTextFieldフォントのキーを知っていなければならず、この方法でしか見つかりませんでした。
フォントを探している場合は、キーを文字列にキャストし、「font」という単語が含まれているかどうかを確認してください。この方法では、潜在的に関心のあるキーのセットを絞り込みます。
私はリスト
したがって、TabbedPane.fontを選択する必要があります。
Java8でこれを試してみましたが、アイテムのサブセットが少なくなっています。 'getDefaults()'の結果を 'Hashtable'に代入し、イテレータを作成し、あなたが提案したのと同じようにそのキーをチェックするアプローチを変更しました。 – Alfabravo
Java GUIのデフォルトのフォントは、「Helvetica」です(太字は9、色はグレーです)。
それは絶対的に間違っている:既に他の人が答えているように、フォントはLAFやOSの設定に依存する – kleopatra
はい、あなたは括弧のペアを忘れてしまったが、働いていたおかげで、:。私は(何のために考えたとして UIManager.getDefaults()のgetFont(「TabbedPane.font」) それは、太字のArialであることが判明それは価値があります)。 –
他のスイングコンポーネントの適切なキーをどのように決定しますか? –
'TabbedPane'を目的の要素タイプに変更することで、他のコンポーネントのフォントを取得できます。たとえば、 'ToolTip.font'が 'Dialog'であることがわかりました。 – marklark