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

时间:2009-09-16 16:54:50

标签: java user-interface swing look-and-feel

Swing组件中的文本是否具有默认字体?特别是JTabbedPane s上的标签标签呢?

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

6 个答案:

答案 0 :(得分:21)

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

获取值

答案 1 :(得分:3)

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

答案 2 :(得分:3)

根据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));
     }
}

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

我有一个清单

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

因此您需要选择TabbedPane.font。

答案 3 :(得分:1)

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

DejaVu Sans - 平原

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

答案 4 :(得分:0)

看起来像是Arial。这就是Identifont告诉我的看起来是正确的。

答案 5 :(得分:-3)

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