Java UI《学习笔记》:3.从本机自定义目录中上传图片,使用JFileChooser.

JFileChooser为用户提供了一个简单的文件选择器,就张这个样子,下图所示:
在这里插入图片描述

JLabel headIcon = new JLabel();
headIcon.addMouseListener(new MouseAdapter() {
			@Override
			public void mouseClicked(MouseEvent arg0) {
				JFileChooser chooser = new JFileChooser();
				chooser.setCurrentDirectory(new File("."));
				
				int result = chooser.showOpenDialog(null);
				if(result==JFileChooser.APPROVE_OPTION){
					String name = chooser.getSelectedFile().getPath();
					ImageIcon icon = new ImageIcon(name);
					//按默认比例缩小图片以适应JLabel

					/*下面这句意思是:得到此图标的 Image(image.getImage());
					在此基础上创建它的缩放版本,缩放版本的宽度,高度与JLble一致(getScaledInstance(width, height,Image.SCALE_DEFAULT ))
					最后该图像就设置为得到的缩放版本(image.setImage)
					*/
					Image image = icon.getImage();
					Image newImage = image.getScaledInstance(headIcon.getWidth(), headIcon.getHeight(), Image.SCALE_DEFAULT);
					icon.setImage(newImage);
					headIcon.setIcon(icon);
				}
			}
		});

代码解读:
chooser.setCurrentDirectory(new File("."));//设置当前目录

int result = chooser.showOpenDialog(null);//当选择“打开”,result=0,对应JFileChooser.APPROVE_OPTION ;选择“取消”,result=1;

获取图像
String name = chooser.getSelectedFile().getPath();
ImageIcon icon = new ImageIcon(name);

将此图片按比列缩小形成一个新图片
Image image = icon.getImage();
Image newImage = image.getScaledInstance(headIcon.getWidth(), headIcon.getHeight(), Image.SCALE_DEFAULT);

再将此图片放到JLabel中,实现头像功能
icon.setImage(newImage);
headIcon.setIcon(icon);

end

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值