【发布时间】:2010-11-28 21:13:53
【问题描述】:
Swing 组件中的文本是否有默认字体?特别是JTabbedPanes 上的标签标签呢?
我正在制作一个使用 Swing 制作的 GUI 模型,并希望它与我抓取的 Swing 应用程序的屏幕图像融合在一起。
【问题讨论】:
标签: java user-interface swing look-and-feel
Swing 组件中的文本是否有默认字体?特别是JTabbedPanes 上的标签标签呢?
我正在制作一个使用 Swing 制作的 GUI 模型,并希望它与我抓取的 Swing 应用程序的屏幕图像融合在一起。
【问题讨论】:
标签: java user-interface swing look-and-feel
这可能取决于您使用的“外观”,但对我来说,Swing 的默认字体是
DejaVu Sans - 纯色
对于大多数组件,字体大小默认为 12 或 13 左右
【讨论】:
它看起来像 Arial。这就是Identifont 告诉我的,而且看起来是正确的。
【讨论】:
这取决于外观。如果是您编写的应用程序,请从 UIManager.getDefaults().getFont("TabbedPane.font") 获取值
【讨论】:
UIManager Defaults 显示所有组件(包括“TabbedPane.font”)的所有属性的值。
【讨论】:
根据 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));
}
}
如果您正在寻找一种字体,在您的情况下,只需将键转换为字符串并检查它是否包含“字体”一词。这样您就可以缩小您可能感兴趣的键的范围。
我有一个清单
因此您需要选择 TabbedPane.font。
【讨论】:
getDefaults() 的结果分配给Hashtable 的方法,创建了一个迭代器,然后按照您的建议检查了它的键。
Java GUI 默认字体为“Helvetica”,粗体 9,颜色为灰色。
【讨论】: