настройка Swing JInternalFrame lnf вручную

UIManager.put("InternalFrame.activeTitleBackground", new ColorUIResource(new Color(207,255,247)));
UIManager.put("InternalFrame.inactiveTitleBackground", new ColorUIResource(new Color(207,255,247)));
JDesktopPane baTabbedPane = new JDesktopPane();
JInternalFrame iframe = new JInternalFrame("Cheapest To Deliver",true,true,true,true);
iframe.setSize(400,150);
baTabbedPane.add(iframe);

почему фон заголовка моего внутреннего фрейма не устанавливается при запуске?

Я пытался установить его для общей инициализации JFrame, но это не имело значения (в отличие от этого, я мог изменить внешний вид другого компонента пользовательского интерфейса JFrame, такого как MenuItem.background, в этом месте, поэтому я подумал, что это могло быть связано с тем, что JInternalFrame не был на верхнем уровне компонент, то есть под панелью с вкладками, что, возможно, его нужно было изменить в какой-то другой момент, но где?)

Любые советы о том, где правильно звонить UIManager.put() для JInternalFrame?


person rutherford    schedule 02.02.2010    source источник


Ответы (2)


в конце концов получил это - вызов put() отлично работает после создания JInternalFrame, но я сделал это до того, как добавил компонент в контейнер. Затем мне все же пришлось установить его пользовательский интерфейс:

JInternalFrame iframe = new JInternalFrame("blah",true,true,true,true);
UIManager.put("InternalFrame.activeTitleBackground", new ColorUIResource(new Color(248,250,175)));
UIManager.put("InternalFrame.inactiveTitleBackground", new ColorUIResource(new Color(248,250,175)));
javax.swing.plaf.basic.BasicInternalFrameUI ui = 
    new javax.swing.plaf.basic.BasicInternalFrameUI(iframe); 
iframe.setUI(ui); 
person rutherford    schedule 09.02.2010

Я думаю, вам нужно сделать все вызовы UIManager.put, прежде чем создавать какие-либо компоненты Swing.

person willcodejavaforfood    schedule 03.02.2010
comment
Я сделал это и добавил изменение цвета MenuItem.background, но изменился только цвет MenuItem, а не цвет фона заголовка JInternalFrame. Есть ли что-нибудь еще, что мне нужно сделать, чтобы настроить внешний вид JInternal Frame? - person rutherford; 04.02.2010
comment
Не могли бы вы опубликовать наименьший возможный рабочий пример, который воспроизводит эту проблему, чтобы я мог попробовать? - person willcodejavaforfood; 04.02.2010