对于AWT中的Frame是可以直接通过setBackground来设置背景色,但是对于JFrame则不可以,应该采用下面的方法:
JFrame frame = new JFrame();
frame.getContentPane().setBackground(Color.WHITE);
这样才能改变的是框架的颜色(实际是改变框架上面板到颜色),框架的上面还有窗格,所以你要改变窗格的颜色才可以侧低改变框架的颜色
还有个特殊是JScrollPane
JScrollPane 基本上由 JScrollBar
、一个 JViewport
以及它们之间的连线组成
JViewport 为数据源提供一个窗口或“视口”,改变滚动面板的颜色其实是改变之上层到JViewport,使用 scrollPane.getViewport().setBackground()
即可设置此滚动面板的背景色