Java 如何获取Swing JTabbedPane标签的默认字体?
Swing组件中的文本是否具有默认字体?特别是Java 如何获取Swing JTabbedPane标签的默认字体?,java,user-interface,swing,look-and-feel,Java,User Interface,Swing,Look And Feel,Swing组件中的文本是否具有默认字体?特别是JTabbedPanes上的选项卡标签呢 我正在制作一个用Swing制作的GUI模型,希望它与我抓取的Swing应用程序的屏幕图像混合。这可能取决于您使用的“外观”,但对我来说Swing的默认字体是 德哈武无平原 对于大多数组件,字体大小默认为12或13左右,看起来像是Arial字体。这就是我所知道的,它看起来是正确的。这取决于它的外观和感觉。如果是您编写的应用程序,请从UIManager.getDefaults()获取值。getFont(“Tabb
JTabbedPane
s上的选项卡标签呢
我正在制作一个用Swing制作的GUI模型,希望它与我抓取的Swing应用程序的屏幕图像混合。这可能取决于您使用的“外观”,但对我来说Swing的默认字体是 德哈武无平原
对于大多数组件,字体大小默认为12或13左右,看起来像是Arial字体。这就是我所知道的,它看起来是正确的。这取决于它的外观和感觉。如果是您编写的应用程序,请从UIManager.getDefaults()获取值。getFont(“TabbedPane.font”)显示所有组件(包括“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));
}
}
Set keys=UIManager.getDefaults().keySet();
用于(对象关键点:关键点){
if(key instanceof String&((String)key).contains(“font”)){
System.out.println(key+“=”+UIManager.getDefaults().get(key));
}
}
如果您正在寻找字体,在您的情况下,只需将键转换为字符串并检查它是否包含单词“font”。通过这种方式,可以缩小您可能感兴趣的密钥集
我有一张单子
- 菜单.字体=李>
- TextField.font=
- RadioButtonMenuItem.font=
- 工具提示。字体=李>
- TitledBorder.font=
- TabbedPane.font=
因此,您需要选择TabbedPane.font。Java GUI的默认字体是“Helvetica”,粗体大小为9,颜色为灰色。是的,谢谢,虽然您忘记了一对括号:UIManager.getDefaults().getFont(“TabbedPane.font”),但结果是Arial粗体,正如我所想的那样(为了它的价值)。如何为其他swing组件确定合适的键?通过将“TabbedPane”更改为感兴趣的元素类型,可以获得其他组件的字体。例如,我刚刚发现“ToolTip.font”是“Dialog”。这绝对是错误的:正如其他人已经正确回答的那样,字体依赖于LAFs和/或OS设置在Java8上尝试了这一点,但只得到了较少的项目子集。更改了将
getDefaults()
的结果分配给Hashtable
的方法,创建了一个迭代器,然后按照建议检查其键。