java Swing 设置背景颜色:
由于Swing跟AWT有千丝万缕的联系,它既要支持AWT又要有自己新的体系,所以呢,这个如果对于AWT中的Frame是可以直接通过setBackground来设置背景色,但是对于JFrame则不可以,应该采用下面的方法:
JFrame frame = new JFrame();
frame.getContentPane().setBackground(Color.Red);
而对于JLabel来说则要设置JLabel为不透明的才行,即
JLabel comp = new JLabel(value);
comp.setBackground(color);
comp.setOpaque(true);
这句代码frame.setBackground(Color.Red);
改变的是框架的颜色,框架的上面还有窗格,所以你要改变窗格的颜色才可以侧低改变框架的颜色
在主函数里加Containerframe.getContentPane() 意思是获得窗格
java Swing 设置背景图片:
JFrame是由这么几部分组成:最底下一层JRootPane,上面是glassPane(一个JPanel)和layeredPane(一个JLayeredPane), 而layeredPane又由contentPane(一个JPanel)和menuBar构成。 我们一般在JFrame上添加组件往往都是加在contentPane上面
//将图片添加到layeredPane
ImageIcon img = new ImageIcon("back.jpg");
JLabel imgLabel = new JLabel(img); //JLabel imgLabel = new JLabel(new ImageIcon("back.jpg"));
getLayeredPane().add(imgLabel, new Integer(Integer.MIN_VALUE));
imgLabel.setBounds(0,0,img.getIconWidth(), img.getIconHeight()); //背景图片的位置
//将contentPane设置成透明的
((JPanel)getContentPane()).setOpaque(false);