设置背景图片的小技巧。

设置背景图片小技巧
方法1.我们通常设置背景图片的方法是:使用paint方法,通过drawIamge方法将图片划到窗体中指定的位置
public void paint(Graphics g){
//获取画布
super.paint(g);
ImageIcon icon = new ImageIcon("image/back.jpg");
g.drawImage(icon.getImage(),0,0,getSize().width,getSize().heigth,this);


}

,此方法的简单易学,但同时也存在一些小问题,例如,如果窗体上有其他组件时,必须通过repaint();方法重绘组件,否则组件将被设置的背景图片覆盖,无法显示出来。因此针对这种问题,我们可以通过如下方法进行改进


方法2创建一个图片标签,JLabel lable=new JLable(new ImageIcon("image/back.png"));然后通过设置图片的绝对位置和设置容器间的层次关系,设置到最底层this.getLayeredPane().add(label, new Integer(Integer.MIN_VALUE));
最后将ContentPane设置成透明,其他的组件就可以直接添加上去。
完整代码块
// 通过Jlabel设置图片,并把图片添加到容器面板中
JLabel label = new JLabel( new ImageIcon("image/back1.jpg"));
label.setBounds(0, 0, getSize().width, getSize().height);
// 添加图片的时候,必须要设置层关系,设置到最底层
this.getLayeredPane().add(label, new Integer(Integer.MIN_VALUE));
// 把contentPane设置成透明的

((javax.swing.JPanel) this.getContentPane()).setOpaque(false);


常见设置表透明效果(实测)
可以先通过以上设置背景的方法2完成背景的设置,然后再定义JTable时,重写prepareRenderer方法,在prepareRenderer方法中,返回的是一个Comonpent,必须强转为JComonpent,将JTable宋玉所在的面板设置成透明,最后再将JTable设置成透明,
即完成了整个窗体中JTable的透明。
JTable table = new JTable(model) {
@Override
public Component prepareRenderer(TableCellRenderer renderer,
int row, int column) {
Component c = super.prepareRenderer(renderer, row, column);
((JComponent) c).setOpaque(false);
return c;


}
};
table.setOpaque(false);

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值