如何获得Swing组件的默认背景颜色? 我指的是JPanel的默认背景颜色?
要获取面板在创建时使用的默认颜色,请使用:
Color color = UIManager.getColor ( "Panel.background" );
要获取当前面板的背景,请使用:
Color color = panel.getBackground ();
查看完整的UIManager
颜色属性列表,请参见http://alvinalexander.com/java/java-uimanager-color-keys-list。
UIManager.put("Panel.background",color);
之后的值? - c0derJPanel
实际上没有默认值,它是从当前面板 UI 实例在 UI 安装时设置的。通常情况下,它是从 UI 默认表中 Panel.background
键下的值获取的。当然,你可以重新定义该值 - 在这种情况下,它将成为默认的面板背景颜色,并且将用于在你重新定义后创建的所有新面板。 - Mikle Garin
super.paintComponent(g)
更好地解决吗?顺便说一句,Swing 的JPanel
通常(取决于 PLAF)具有不同的背景色,而与JTable
或JTextField
不同。不要认为你已经确定了“背景色”。 - Andrew Thompson