复习Java第二个项目仿QQ聊天系统 04(头像功能原理) &Java面试题HashMap基础知识&生活【记录一个咸鱼大学生三个月的奋进生活】026

本文介绍了Java仿QQ聊天系统中头像功能的实现原理,包括头像文件夹结构、数据库中头像信息的存储、注册页面选择头像功能以及主页面、好友列表中头像的显示。同时,文章还涵盖了Java面试中关于HashMap的基础知识。
摘要由CSDN通过智能技术生成

复习Java(仿QQ聊天系统04头像功能原理)

  在上一篇帖子中答应过大家今天跟大家讲一下 头像是如何添加以及显示,上下线变化的

  其实很简单,每个头像就是一个一个的图片,将所有的头像图片放在各个文件夹中(这每个文件夹代表着不同功能调用时从哪个文件夹里取图片,例如:当用户上线时头像就是彩色的就从onimg的文件夹中找到该用户的头像,之后也会介绍每个功能对应的不同文件夹)
  注意!这每个头像图片的名字都是一样的,无论在哪个文件夹中头像图片名字都要一样,只有所在的文件夹是不一样的

各个功能要访问的文件夹

正常尺寸的头像qqimg文件夹

这是存放所有正常尺寸头像的文件夹

注册时选择头像的selectimg文件夹

这里面的头像图片是为了在注册页面选择头像时添加进下拉列表的,所以都比较小

上线时的彩色头像的onimg文件夹

这是在主页面,也就是登录上去之后的好友列表页面用于给在线的好友挂头像的文件夹

下线时的灰色头像的outimg文件夹

这是在主页面,也就是登录上去之后的好友列表页面用于给不在线的好友挂头像的文件夹

  大家注意看,相同头像的文件名都是一样的,这是要注意的,不然之后就会出错

数据库中存放头像信息的字段(pic)

  前两篇帖子中都跟大家已经分享过该项目的数据库怎么配置了,其中有个字段叫pic,之前也提到过这就是存放头像的字段,其中存放的数据就是该头像图片的文件名(例如:wyh.jpg 是头像图片,那么数据库中存的头像信息就是wyh)

注册页面中选择头像功能(RegisterFrame)

添加头像的方法(addHead)

  从头看到这的朋友们就知道,我们是通过在各个文件夹中的头像图片来添加头像的,所以我们这里就获取selectimg文件夹中的所有图片地址,然后添加进下拉列表

    // 自动添加头像方法
    private void addHead() {
   
    	File[] files = new File("./selectimg").listFiles();       // 使用File的listFiles()方法获得该文件夹下的所有文件
		for (File file : files) {
               // 遍历集合
			this.imgComboBox.addItem(new ImageIcon(file.getAbsolutePath()));        // 将每个图片文件的绝对定位通过getAbsolutePath()方法传入ImageIcon实例化并addItem给头像选择下拉列表
			}
    }

获取用户注册时选择的头像

  我们获取用户选择的头像图片的地址,但是只要 \ 和 . 中间的内容(例如:selectimg\wyh.jpg 获取到的就是wyh这个内容),因为有了中间这块内容,就能在不同文件中获取头像图片(例如:获得上线时彩色的头像就是 onimg\wyh.jpg ),之后再将获取的地址中间的内容存进数据库就可以在各个页面通过中间的内容去获取不同状态时的头像

  • 5
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Aspiriln

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值