Как изменить цвет jDesktopPane из свойств
Я создаю проект, который требует использования нескольких внутренних фреймов и соединяет его через панель рабочего стола.
Я попытался изменить цвет панели рабочего стола (из свойства-> фон), но когда я запускаю его, он по-прежнему тот синий цвет по умолчанию.
Проверьте прикрепленную ссылку на снимок, возможно, вы лучше поймете мой вопрос, чего я хочу.
РАМА СИНИЙ ЦВЕТ:
ЦВЕТ НЕДВИЖИМОСТИ:
1 ответ
Похоже, что вы используете Nimbus L&F? Цвет фона JDesktopPane и других компонентов обрабатывается L&F. Вы можете переопределить фон как таковой:
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();
}
};