Swing組件中的文本是否具有默認字體?特別是,JTabbedPane
s上的標籤標籤呢?如何獲取Swing JTabbedPane標籤的默認字體?
我正在使用Swing製作的GUI的模型,並希望它與我抓住Swing應用程序的屏幕圖像混合。
Swing組件中的文本是否具有默認字體?特別是,JTabbedPane
s上的標籤標籤呢?如何獲取Swing JTabbedPane標籤的默認字體?
我正在使用Swing製作的GUI的模型,並希望它與我抓住Swing應用程序的屏幕圖像混合。
這取決於外觀和感覺。如果它是您編寫的應用程序,請獲取UIManager.getDefaults().getFont("TabbedPane.font")
的值
這可能取決於「外觀和感覺」你正在使用,但對我來說Swing的默認字體是
幻覺記憶三世 - 平原
對於大多數組件的字體大小默認爲大約12或13
它看起來像是Arial。這就是Identifont告訴我,它看起來是正確的。
UIManager Defaults顯示了所有組件(包括「TabbedPane.font」)的所有屬性的值。
根據牧師Gonzo的回答,這段代碼可以讓你知道UIDefaults中的鍵是什麼。由於鑰匙是不言自明的,你知道你可以使用什麼鑰匙。例如,我必須知道JTextField字體的關鍵字,並且只能以這種方式找到它。
Set<Object> keys = UIManager.getDefaults().keySet();
for (Object key : keys) {
if (key instanceof String && ((String) key).contains("font")) {
System.out.println(key + "=" + UIManager.getDefaults().get(key));
}
}
如果你正在尋找一個字體,你的情況,只投的關鍵字符串,並檢查是否包含單詞「字體」。這樣你縮小了你有潛在興趣的一組鍵。
我有一個列表
因此,您需要選擇TabbedPane.font。
在Java8上嘗試了這一點,但只獲得了減少項目的子集。改變了將'getDefaults()'的結果賦給'Hashtable'的方法,創建了一個迭代器,然後按照你的建議檢查了它的鍵。 – Alfabravo 2016-04-04 15:40:58
Java GUI默認字體爲「Helvetica」,粗體大小爲9,顏色爲灰色。
這是絕對錯誤的:正如其他人已經正確回答,字體取決於LAF和/或操作系統設置 – kleopatra 2013-03-30 10:31:44
是的,謝謝,那工作過,雖然你忘了一對括號: UIManager.getDefaults()的getFont(「TabbedPane.font」) 原來是Arial粗體,因爲我認爲(爲了什麼。這是值得的)。 – 2009-09-16 19:27:01
你如何確定適用於其他鞦韆部件的鑰匙? – 2012-02-10 22:30:56
您可以通過將「TabbedPane」更改爲您感興趣的元素類型來獲取其他組件的字體。例如,我剛剛發現「ToolTip.font」是「對話框」。 – marklark 2016-10-06 19:28:42