swing怎么添加背景色
答案:3 悬赏:0 手机版
解决时间 2021-01-29 00:48
- 提问者网友:温柔港
- 2021-01-28 12:34
swing怎么添加背景色
最佳答案
- 五星知识达人网友:玩家
- 2021-01-28 13:54
全部回答
- 1楼网友:七十二街
- 2021-01-28 15:25
不知道如何设置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); 改变窗格颜色
- 2楼网友:往事隔山水
- 2021-01-28 15:01
所有的jcomponent都有setbackgroundcolor(color c). 但是这个只是单一的颜色.
如果你想要放置自定义的颜色或者图片的话
你可以继承一个jpanel, override他的paintcomponent, 加上drawimage()来画自己的图片上去.
class backgroundpanel extends jpanel {
@override
protected void paintcomponent(graphics g) {
super.paintcomponent(g);
g.drawimage(img, dx1, dy1, dx2, dy2, sx1, sy1, sx2, sy2, observer)
}
}jbutton btn = new jbutton();
backgroundpanel bkpanel = new backgroundpanel ();
btn.setopaque(false);//这句使得button背景变得透明, 漏出bkpanel
bkpanel.add(btn, borderlayout.center);
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯