Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/348.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何获取Swing JTabbedPane标签的默认字体?_Java_User Interface_Swing_Look And Feel - Fatal编程技术网

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

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

Swing组件中的文本是否具有默认字体?特别是
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
的方法,创建了一个迭代器,然后按照建议检查其键。