JAVA之设置背景图片的几种方法



第一种方法,通过JLabel来装载图片。

创建一个ImageIcon对象,来获取背景图片。

ImageIcon img = new ImageIcon("image/img1.png");

创建一个JLabel对象,将图片img载入到JLabel对象中。

JLabel jl_bg = new JLabel(img); //背景

然后,设置jl_bg的位置和大小。

this.jl_bg.setBounds(0, 0, 600, 400); //设置位置和大小,先setLayout(null)一下。

将JLabel对象jl_bg放入分层面板中。

this.getLayeredPane().add(jl_bg, new Integer(Integer.MIN_VALUE));
((JPanel)this.getContentPane()).setOpaque(false); //设置透明

如上代码中,getLayeredPane()获取的是分层面板,将背景图片放置最底层,就可以作为背景图片了。我们知道,在JFrame中还有一个ContentPane容器,如此,放置最底层就会被ContentPane所遮挡,所以,需要添加第二行代码,将此设置为透明。注意,需要对其进行强制转换。


第二种方法,通过paint绘制背景图片。

这种方法也是比较常用的方法,首先需要创建一个BufferedImage对象,并初始化为null。

BufferedImage bg = null;

然后就是加载背景图片。

try {
	bg = ImageIO.read(new File("image/img1.png"));
}catch(Exception e) {
	e.printStackTrace();
}

最后,在重写paint方法,通过drawimage方法,将此背景图片绘制即可。

public void paint(Graphics g) {
	g.drawImage(bg, 0, 0, null);
}

这里最好使用双缓冲,不然可能会有闪屏神马的问题。关于双缓冲,在前面的博文里写过。

THE END~


  • 51
    点赞
  • 228
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值