【问题标题】:How do I get the default font for Swing JTabbedPane labels?如何获得 Swing JTabbedPane 标签的默认字体?
【发布时间】:2010-11-28 21:13:53
【问题描述】:

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

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

【问题讨论】:

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


    【解决方案1】:

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

    DejaVu Sans - 纯色

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:

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

        【讨论】:

        • 是的,谢谢,这行得通,虽然你忘记了一对括号: UIManager.getDefaults().getFont("TabbedPane.font") 原来是 Arial Bold,正如我所想的那样(对于它的价值)。
        • 您如何确定其他秋千组件的合适按键?
        • 您可以通过将“TabbedPane”更改为您感兴趣的元素类型来获取其他组件的字体。例如,我刚刚发现“ToolTip.font”是“Dialog”。
        【解决方案4】:

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

        【讨论】:

          【解决方案5】:

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

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

          我有一个清单

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

          因此您需要选择 TabbedPane.font。

          【讨论】:

          • 在 Java8 上试过这个,但只得到了一个减少的项目子集。更改了将getDefaults() 的结果分配给Hashtable 的方法,创建了一个迭代器,然后按照您的建议检查了它的键。
          【解决方案6】:

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

          【讨论】:

          • 这绝对是错误的:正如其他人已经正确回答的那样,字体取决于 LAF 和/或操作系统设置
          猜你喜欢
          • 1970-01-01
          • 2012-07-16
          • 2011-11-18
          • 2021-09-23
          • 2011-04-23
          • 1970-01-01
          • 2015-06-19
          • 2012-05-15
          • 1970-01-01
          相关资源
          最近更新 更多