2012-04-03 99 views
25

如何获取摆动组件的默认背景颜色?我的意思是默认的JPanel背景颜色?获取摆动组件的默认背景颜色

+1

也许你正在寻找这样的东西:http://stackoverflow.com/questions/2739704/getting-panel-color? – ranman 2012-04-03 10:19:09

+0

你问的事实让我怀疑GUI的设计有什么问题。什么是你需要的默认颜色,不能通过'super.paintComponent(g)'排序(更好)?顺便说一句 - 一个Swing'JPanel'通常(PLAF依赖)具有与JTable或JTextField不同的BG颜色。警惕认为你有'''BG'的颜色。 – 2012-04-04 04:10:19

回答

49

为了得到DEFAULT颜色面板将使用时创建的使用:

Color color = UIManager.getColor ("Panel.background"); 

为了得到CURRENT面板背景使用:

panel.getBackground(); 

对于UIManager颜色的完整列表属性,请参见http://alvinalexander.com/java/java-uimanager-color-keys-list

+0

它是否返回面板创建时使用的“默认颜色”?或者它返回最后一个'UIManager.put(“Panel.background”,color)后的值;' ? – c0der 2016-08-21 11:15:23

+0

好吧,如果你想深入研究 - 'JPanel'完全没有默认值,它将在UI安装时从当前面板UI实例设置。最常见的情况是从'Panel.background'键下的UI默认表值。当然,您可以重新定义该值 - 在这种情况下,这将是默认的面板背景颜色,并且将用于重新定义它之后创建的所有新面板。 – 2016-08-21 19:11:43