【发布时间】:2012-01-08 19:52:35
【问题描述】:
我想要一种方法来为我在 GUI 中使用的所有组件设置默认设置,例如背景颜色、大小等,有什么方便的方法来做到这一点?所以当我做新的 JButton 或 JLabel 等时,它已经应用了设置?
【问题讨论】:
-
+1 提出这个问题 :-) 问候
标签: java swing look-and-feel jcomponent uimanager
我想要一种方法来为我在 GUI 中使用的所有组件设置默认设置,例如背景颜色、大小等,有什么方便的方法来做到这一点?所以当我做新的 JButton 或 JLabel 等时,它已经应用了设置?
【问题讨论】:
标签: java swing look-and-feel jcomponent uimanager
您也可以创建自己的look and feel 或使用 UIManager 更改颜色的默认值,例如:
UIManager.put("Panel.background", ColorUIResource.YELLOW);
【讨论】:
编写一个工厂方法,返回已应用默认值的组件,然后从工厂中检索它们,而不是直接创建它们。
或者编写一个接受 JComponent 实例并设置所需默认值的方法,这些默认值可以在整个代码中重复使用。
或将两者结合使用。
另一种选择是创建和使用您自己的“外观”:
...但我想这比您要寻找的要复杂得多。
【讨论】:
它被称为Look And Feel,您可以编写自己的并将其设置为默认值或调整现有的默认值。对于仅更改一些设置,例如背景颜色,我只需 modify some defaults
设置默认大小似乎是一个奇怪的要求。例如,对于JLabel,首选大小(与 Swing API 的匹配比默认大小更好)将取决于JLabel 的内容。您将如何为所有组件定义“默认大小”?
【讨论】: