`
Function
  • 浏览: 63281 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

javase-富文本聊天工具

 
阅读更多
学完Java基础,也来写个聊天的工具,给它起了个名:GG聊天(只是希望沾点光);
功能实现如下:
(1)动态请求服务器,登录会记住用户名的
(2)好友列表显示(在线的为彩色,离线的为灰色)
(3)聊天的字体可更改(富文本编辑),查看聊天记录,
(4)注册
(5)查找用户
(6)添加在线用户(别人添加你,可以拒绝的哦)
(7)DAO模块有MySql改为XML,只要启动服务器,不需要数据库也可玩玩看;
------
带几张截图,有兴趣的可以下载下去:
登录框(点击设置,可以设置服务器IP和端口):
注册:

注册是系统自动分配一个可用数字(看完要记住de,别忘了):

下面是登录后的UI(还没人上线的..):
这是聊天的窗口(可以设置字体--还可以发送抖动窗口的):

查看聊天的记录:
好友上线啦:
可以抖他的聊天窗口的:
查找好友的:

---------------------------------
下面,奉上核心代码:
服务器的控制中心(没有采用ChannelSocket,用户太少啦,另一个版本使用那个的,有兴趣的我可以把那部分代码发给你。)
try {
			while (start) {
				final Message message = (Message) ois.readObject();
				new Thread() {
					@Override
					public void run() {
						String action = message.getAction();
						ServerUI.setMessage("@server: " + action);
						try {
							ServicesCache.get(
									Configuration.getClassName(action))
									.execute(ServiceThread.this, oos, message);
						} catch (Exception e1) {
							System.err.println("catch error");
							try {
								Class<?> ac = Configuration.getClazz(action);
								ac.getMethod("execute",
												ServiceThread.class,
												ObjectOutputStream.class,
												Message.class).invoke(
												ac.newInstance(),
												ServiceThread.this, oos,
												message);
							} catch (Exception e) {
								start = false;
								e.printStackTrace();
							}
						}
					}
				}.start();
			}
		} catch (Exception e) {
			start = false;
			ServerUI.setMessage("用户断开连接!");
		} finally {

		}


------------------
控制中心的标准:
public abstract class ActionSupport {

	private final UserDao dao = new UserDaoXMLImpl();

	protected final UserDao getDao() {
		return dao;
	}

	public abstract String execute(ServiceThread service, ObjectOutputStream oos,
			Message message) throws Exception;
}

------------------
哦,我忘了,还有一个可爱的系统托盘:



在附上服务器的UI:


下面就是源码啦,无私奉献
  • 大小: 29.4 KB
  • 大小: 42.9 KB
  • 大小: 31.5 KB
  • 大小: 35.9 KB
  • 大小: 29.6 KB
  • 大小: 32 KB
  • 大小: 3.5 KB
  • 大小: 49.7 KB
  • 大小: 25 KB
  • 大小: 1.7 KB
  • 大小: 32.6 KB
分享到:
评论
2 楼 唐广昌 2012-04-30  
求源码啊
guangchangtang@163.com


好人!
1 楼 zhlld 2012-03-21  
怎么没有源码,楼主可不可以把源码发到我的邮箱,让我研究研究、、、
我的邮箱zhlld394200856@126.com

相关推荐

Global site tag (gtag.js) - Google Analytics