如何获取Swing JTabbedPane标签的默认字体?

Swing组件中的文本是否具有默认字体? 特别是JTabbedPane的标签标签怎么样?

我正在研究用Swing制作的GUI的模型,并希望它将它与我抓住Swing应用程序的屏幕图像混合。

这取决于外观和感觉。 如果它是您编写的应用程序,请从UIManager.getDefaults().getFont("TabbedPane.font")获取值UIManager.getDefaults().getFont("TabbedPane.font")

UIManager Defaults显示所有组件的所有属性的值(包括“TabbedPane.font”)。

根据Gonzo牧师的回答,这段代码可以让您知道UIDefaults中的密钥。 由于键是不言自明的,你知道你可以使用什么键。 例如,我必须知道JTextField字体的键,并且只能以这种方式找到它。

 Set keys = UIManager.getDefaults().keySet(); for (Object key : keys) { if (key instanceof String && ((String) key).contains("font")) { System.out.println(key + "=" + UIManager.getDefaults().get(key)); } } 

如果您正在寻找字体,在您的情况下,只需将密钥转换为字符串并检查它是否包含单词“font”。 这样,您可以缩小您可能感兴趣的键集。

我有一份清单

  • Menu.font = …
  • TextField.font = …
  • RadioButtonMenuItem.font = …
  • ToolTip.font = …
  • TitledBorder.font = …
  • TabbedPane.font = …

因此,您需要选择TabbedPane.font。

它可能取决于你使用的“外观和感觉”,但对我来说,Swing的默认字体是

DejaVu Sans – 平原

对于大多数组件,字体大小默认为大约12或13

它看起来像是Arial。 那就是Identifont告诉我的,它看起来是正确的。

Java GUI默认字体为“Helvetica”,粗体大小为9,颜色为灰色。