小聊: 本篇文章呢,向大家介绍一下早年写的第一个Java项目,纯Java写的一个图形化项目,用的还是内置的JFrame。。。呀,真是怀念呀,没什么,只是想记录一下,当时刚学习Java的心情。咳咳,不说废话,因为是刚学完Java基础的时候写的,没什么技术含量,就单纯的回忆一下,见笑。项目已经放到github上了,有兴趣的可以自取,附带程序设计报告书哦。还有我的注解写的超详细,那时候就有这个意识啦。
github地址:《Lemon》
1. 项目介绍
- 项目名
Lemon
- 项目详情
是一个仿真模拟Web版QQ图形化界面的多人聊天程序,长什么样子下面会有预览啦。
- 项目功能
账号密码登录、个人信息展示以及修改、多人在线聊天。
- 项目主要技术内容(Java基础)
多线程,IO流文件操作,基于TCP协议网络传输,Swing GUI(Java自带的)
- 项目开发环境
eclipse,window10。
哦,刚开始是用的eclipse啦,大家都懂。因为eclipe项目的结构和idea不一样,其实eclipse自己版本之间的项目结构也会有所差异,而且以前的默认编码是GDK(idea是UTF-8),现在2022版本的eclipe默认编码好像是UTF-8了。如果大家要下载的话出现运行问题,建议自己新建一个项目,之后把里面的内容拷贝到自己的项目就好了,反正内容不多。至于项目文件编码的问题,我原本的代码肯定是GDK啦,现在上传的版本编码改成了UTF-8,所以,使用的是最新版的eclipse的话没关系,老版的话设置修改一下Encoding就好了,是idea的话也没问题。
2. 项目演示
本来是eclipse项目的,但是为了验证移植性,我用idea新建了一个项目然后把内容copy到了这个空项目中,正常启动运行。
2.1. 项目启动入口
src/com/lemon/login 下的 Lemon_Action.java 文件
就是一个main程序啦,嘿嘿,然后一开始就开启线程,没有用线程池呀,那时候还不太懂~我也不准备去动它,就保持最初始的模样吧。
2.2. 开始的登录界面
项目启动成功后就会弹出登录窗口啦
2.3. 注册登录
那时候嫌麻烦直接把账号密码设死了,因为想着还是开发测试阶段嘛,先弄几个测试账号就好了。点击注册账号就会弹出这个窗口啦,具体账号信息也可以在项目的 Users information 文件夹里面找到。
2.4. 个人信息界面
输入密码点击登录,成功后会弹出个人信息界面啦
2.5. 个人信息修改
点击“编辑资料”,就会弹出下面的窗口啦,我们修改一下,然后看修改后的个人界面信息
点击确认,修改成功
我再改回去哈
2.6. 聊天界面
点击 ENTER 蓝色按钮可以进入聊天界面
2.7. 测试输入
试着输入内容吧
2.8. 多人在线登录聊天
那怎么实现多人在线聊天呢,接下来我将演示步骤。其实这里是有关于IDE的区别的,如果用eclipse的话,Run as可以直接再运行一次 Lemon_Action.java 的 main 程序就可以在不关闭前一个运行窗口的前提下再打开一个运行窗口,但是Idea不可以,它直接 Run 的话会默认重新启动项目,这样就不太好了,其实有办法开启多个运行窗口的,接下来我将分别使用Idea和eclipse开启多个运行窗口实现多线程多人在线聊天的功能。
- Idea演示
1)首先我们需要进行多窗口的设置,点击 Edit Configuration… 设置
2)照着已有的这个运行窗口配置,我们在新加两个,演示三个人同时在线聊天
这样我们就新添加好了两个运行窗口。
2)选择窗口开启运行
注意:本项目需要每一个账号登录成功后才可以开启新的线程登录下一个用户,绝对不可以同时打开多个登录界面窗口!!!!涉及到服务端的启动原理这里不多解释。如果你不小心一下子一次性打开了多个运行窗口并运行的话,后台会报错,你需要关闭所有线程,并修改配置才可以再次运行,修改配置的话后面再讲。
3)开启第二个运行窗口登录账号
ok,现在就有两个账号啦
3)开启第三个运行窗口登录第三个账号
4)打开三个聊天窗口进行聊天
- eclipse演示
eclipse默认运行会开启一个新的窗口,所以不用做配置啦
1)开启第一个运行窗口
2)开启第二个运行窗口
同样的运行 Run as ——> Java application
2)开启第三个运行窗口
后面使用演示是一样的,就不再演示一遍啦。
3. 项目目录说明
src:代码目录
Files:
IdAndPassword:账号的启动状态,初始化均为false,如果遇到启动问题,将value全部初始化成false即可。
ID:账号和密码
Users information:各个账号的信息文件夹
4. 项目使用注意
- 开启多人聊天时,一定要一个一个运行mian在登录界面登录成功后在开启下一个,这里涉及到TCP服务的启动判断,有关账号在前情况的功能显示。如果不小心一次开启了多个登录界面,请关闭所有运行窗口,并修改IdAndPassword文件的配置,将所有值重置为false即可。
- 在使用本项目程序过程中,需要保持正常的关闭程序操作,就是说你想退出登录需要点击右上角的关闭按钮,不可以直接终止程序的运行,不然服务器的启动状态会错误,懂的都懂,你一客户也不可能直接把服务器关了吧。如果你还是这么干了,请重置IdAndPassword配置文件。
稍微感慨一下啦,其实挺佩服那时候的我的,完全不知道自己能够做出来,但还是努力去做了。所以说,去做一件没有绝对把握的事并不简单,认真努力再带有一点自信去做,也许还是会失败,但无论如何,你都会想让自己的人生更有价值一些。