12

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

我正在制作一个使用 Swing 制作的 GUI 模型,并希望它与我抓取的 Swing 应用程序的屏幕图像混合。

4

6 回答 6

21

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

于 2009-09-16T17:46:48.160 回答
3

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

于 2009-09-16T18:52:14.113 回答
3

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

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

我有一个清单

  • 菜单.字体=...
  • TextField.font=...
  • RadioButtonMenuItem.font=...
  • 工具提示.font=...
  • TitledBorder.font=...
  • ...
  • TabbedPane.font=...
  • ...

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

于 2013-02-28T14:35:13.250 回答
1

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

DejaVu Sans - 纯色

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

于 2009-09-16T16:57:05.373 回答
0

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

于 2009-09-16T17:42:57.950 回答
-3

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

于 2013-03-30T02:20:01.607 回答