Java swing - 在JFrame中添加背景图片

本文介绍如何在Java Swing应用程序中实现背景图片的动态切换。通过创建一个可复用的方法来更新JFrame的背景,并添加鼠标监听事件以允许用户点击更换背景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

之前写了一个窗口程序,写完过后想添加一些功能,比如在窗体添加背景图片。

我把显示背景图片的代码放在了一个方法里面,因为我设计了一个可以更换背景图片的监听事件,将这个代码放在方法里面便于二次调用。

JLabel bglabel = new JLabel();//创建JLabel
getBackgroundPicture(bglabel,contentPane);//方法体见下面代码块
this.getLayeredPane().add(bglabel,new Integer(Integer.MIN_VALUE));//将背景标签添加到JFrame的LayeredPane中,我的方法继承了JFrame,所以这里使用了this

//设置背景图片
	public void getBackgroundPicture(JLabel bglabel,JPanel contentPane){
		File dir = new File("src/img/picture");		
		File[] list = dir.listFiles();
		String path = list[index].getAbsolutePath();//获取路径
		
		ImageIcon background=new ImageIcon(path);
		index++;
		if(index >= list.length){	
			index = 0;
		}
		
		bglabel.setIcon(background);//将图片设置到Jlabel中
		
		bglabel.setBounds(-210, -210, background.getIconWidth(), background.getIconHeight());//设图片显示的区域
		contentPane.setOpaque(false);//设置面板为透明,在gbLabel之上的JPanel都要设置为透明
	}


  -------------->  
以上的配置就已经完成了背景图片的设置了;

添加监听,点击背景图片更换背景图片

contentPane.addMouseListener(new MouseAdapter() {
			public void mouseClicked(MouseEvent e){
				if(e.getClickCount() == 1){
					int num = JOptionPane.showConfirmDialog(null, "你需要更换背景吗?",
							"提示",JOptionPane.YES_NO_OPTION);
					if(num == JOptionPane.YES_OPTION){
						//调用方法,更换背景
						getBackgroundPicture(bglabel,contentPane);
					}
				}
			}
		});




一个更换背景图片的功能就实现了!不足之处,欢迎赐教




评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值