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