java Swing 设置背景颜色

          不知道如何设置JFrame和JLabel的背景色。根据类的方法以为这样就行了
         JFrame frame = new JFrame();
         frame.setBackground(Color.Red);
         JLabel l = new JLabel();
         l.setBackground(Color.Yellow);
         frame.add(l);

       结果根本就没有反应。哎,怎么设置一个背景颜色居然还这么难。上网google了才知道,由于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()
意思是获得窗格

                   setBackground(Color.Red);                       改变窗格颜色

【本文转至】http://blog.sina.com.cn/s/blog_672ec09f0100n7ep.html

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值