我正在创建一个需要使用多个内部框架的项目,并通过桌面窗格将其互连。
我尝试过更改桌面窗格的颜色(来自属性->背景),但是当我运行它时,它仍然是默认的蓝色。
检查附加的快照链接,也许您会更好地理解我的问题。
FRAME BLUE COLOUR:
属性设置颜色:
答案 0 :(得分:0)
您似乎正在使用Nimbus L&F? L&F处理JDesktopPane和其他组件的背景颜色。您可以这样覆盖背景:
desktop = new JDesktopPane() {
@Override
public void updateUI() {
if ("Nimbus".equals(UIManager.getLookAndFeel().getName())) {
UIDefaults map = new UIDefaults();
Painter<JComponent> painter = new Painter<JComponent>() {
@Override
public void paint(Graphics2D g, JComponent c, int w,
int h) {
g.setColor(Color.white); //background color
g.fillRect(0, 0, w, h);
}
};
map.put("DesktopPane[Enabled].backgroundPainter", painter);
putClientProperty("Nimbus.Overrides", map);
}
super.updateUI();
}
};