我正在使用Nimbus的外观和感觉,我已经设置了这样的defaultFont。
NimbusLookAndFeel nimbus = new NimbusLookAndFeel();
nimbus.getDefaults().put("defaultFont", myFont);
完美无缺。但我有一个JFrame,它提出了一个JButton。我只是想使用不同的" defaultFont"用于JFrame和JFrame的所有组件。
但我怎么能这样做?
编辑:在我的JFrame中,我试图像这样覆盖defaultFont值。
UIDefaults jDefaults = new UIDefaults();
jDefaults.put("defaultFont", newFont);
this.putClientProperty("Nimbus.Overrides.InheritDefaults", Boolean.TRUE);
this.putClientProperty("Nimbus.Overrides", jDefaults);
//SwingUtilities.updateComponentTreeUI(this); It doesn't work
System.Out.println(getFont()); // writting myFont instead of newFont
答案 0 :(得分:0)
设置完字体后,你试试这个:
for(Window window : JFrame.getWindows()) {
SwingUtilities.updateComponentTreeUI(window);
}