【问题标题】:What's a convenient way to set default settings for all JComponents为所有 JComponents 设置默认设置的便捷方法是什么
【发布时间】:2012-01-08 19:52:35
【问题描述】:

我想要一种方法来为我在 GUI 中使用的所有组件设置默认设置,例如背景颜色、大小等,有什么方便的方法来做到这一点?所以当我做新的 JButton 或 JLabel 等时,它已经应用了设置?

【问题讨论】:

  • +1 提出这个问题 :-) 问候

标签: java swing look-and-feel jcomponent uimanager


【解决方案1】:

您也可以创建自己的look and feel 或使用 UIManager 更改颜色的默认值,例如:

UIManager.put("Panel.background",  ColorUIResource.YELLOW);

【讨论】:

  • 找出 L&F 使用哪些属性的好方法是调用 UIManager.getDefaults() 并打印出所有键值对。
  • +1 提醒我以前用过什么却忘记了 :-) 问候
【解决方案2】:

编写一个工厂方法,返回已应用默认值的组件,然后从工厂中检索它们,而不是直接创建它们。

或者编写一个接受 JComponent 实例并设置所需默认值的方法,这些默认值可以在整个代码中重复使用。

或将两者结合使用。

另一种选择是创建和使用您自己的“外观”:

...但我想这比您要寻找的要复杂得多。

【讨论】:

    【解决方案3】:

    它被称为Look And Feel,您可以编写自己的并将其设置为默认值或调整现有的默认值。对于仅更改一些设置,例如背景颜色,我只需 modify some defaults

    设置默认大小似乎是一个奇怪的要求。例如,对于JLabel,首选大小(与 Swing API 的匹配比默认大小更好)将取决于JLabel 的内容。您将如何为所有组件定义“默认大小”?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-11-19
      • 2017-12-03
      • 1970-01-01
      • 2022-07-01
      • 2022-10-15
      • 2021-06-23
      • 2020-11-20
      • 1970-01-01
      相关资源
      最近更新 更多