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
ui组件外观,例如MenuItem.background
我认为可能是因为JInternalFrame
不是顶级组件,即在选项卡式窗格下,可能需要在其他位置进行更改,但在哪里?)
有关为UIManager.put()
致电JInternalFrame
的正确位置的任何提示吗?
答案 0 :(得分:3)
最终得到它 - 在创建JInternalFrame之后调用put()工作正常但我在将组件添加到容器之前确实已经完成了。然后,我仍然必须设置它的UI:
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);
答案 1 :(得分:1)
我认为在创建任何Swing组件之前,您需要对UIManager.put进行所有调用。