4
我做了一个swing应用程序。现在我想更改整个Swing应用程序的字体,以便添加的任何组件只应该遵循该字体。 有什么办法可以达到同样的效果吗?如何在整个Swing UI应用程序中更改字体
我做了一个swing应用程序。现在我想更改整个Swing应用程序的字体,以便添加的任何组件只应该遵循该字体。 有什么办法可以达到同样的效果吗?如何在整个Swing UI应用程序中更改字体
public static void setGlobalFont(Font font) {
Enumeration keys = UIManager.getDefaults().keys();
while (keys.hasMoreElements()) {
Object key = keys.nextElement();
Object value = UIManager.get(key);
if (value instanceof Font) {
UIManager.put(key, font);
}
}
}
难道这不是一点点...蛮力吗? – Riduidel 2011-06-08 09:41:01
+1好,是的,这是正确的,并在大多数情况下工作,但对于一些JComponents需要用SwingUtilities.updateComponentTreeUI(myFrame/myDialog)强制; – mKorbel 2011-06-08 09:43:52
不能改变上面的部分,因此[关节组件可以提供一些字体大小差异,比如我想让JComboBox的项目具有相同的UI默认字体大小,但JTable的内容使用不同的字体大小 – 2011-06-08 09:53:47