【发布时间】:2026-02-09 22:45:02
【问题描述】:
我正在使用 Nimbus 外观,并且我已经设置了这样的 defaultFont。
NimbusLookAndFeel nimbus = new NimbusLookAndFeel();
nimbus.getDefaults().put("defaultFont", myFont);
完美运行。但是我有一个带有 JButton 的 JFrame。我只想为 JFrame 和 JFrame 的所有组件使用不同的“defaultFont”。
但是我该怎么做呢?
编辑:在我的 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
【问题讨论】:
-
@FastSnail 伙计,我已经用它来覆盖 nimbus 默认值。但我不认为你明白我的意思。我实际上想为不同的 JFrame 使用不同的 defaultFont。但我不确定这是否可能。
-
@FastSnail 它不起作用:(
标签: java swing look-and-feel nimbus