定义一个Message对象用来存储刚刚在服务器端传送过来的类型为1或者2的Message对象。
如果刚刚输入的QQ号码的密码为123则,我们就会从这个方法里得到一个为true的返回值,现在返回到LoginCheck类,再返回到Login类。
最后需要实现的样子如图所示,只实现了好友这栏,并没有实现陌生人和。新建一个FriendList类,需要把鼠标放在1、2、3具体的号码会显示变色,点击会有新的对话框弹出,所以需要一个MouseListener类。
如图所示,我的好友与中间好友列表与下面两个按钮为一个面,下面两个按钮为一个面,中间的好友列表为一个面。所以先定义三个JPanel待用。好友、陌生人、实际是三个按钮,所以定义三个JButton。好友列表需要有滚动显示,所以定义一个JScroPane滚动条,需要把自己的用户ID放进来,放在界面的窗口上,所以需要一个ownerId的String类对象。
界面就做好了,现在给界面上的组件添加方法。首先是把鼠标移到用户列表上就会使列表上的名字变色,使用mouseEntered和mouseExited两个方法。
获取移动到的地方,成JLabel类型,如果成功则说明移动到了好友列表的JLabel。
双击得到点击的JLabel的文字作为你想和其聊天的好友编号。星期四左眼跳用你自己的编号和该好友编号为参数,创建一个chat聊天类。FriendList类的功能全部实现完成。接下来编写Chat聊天窗口类。首先是界面,很简单。
接下来用户可以在对话框JTextField里输入文字,然后点击发送按钮发送到服务器,服务器再通过发送过来的Message里的Sender和Getter属性识别发动人和接收人,发送到接收人的客户端里,再通过接收人客户端内的Chat类显示到界面上。
新建一个Message类,获取Sender、Getter、消息内容、发送时间等信息,存储到该Message中。
然后消息被放进流中,让我们写服务器端。该服务器需要支持多人同时聊天,所以让服务器一直等待一个客户端发来消息不合适,采用线程来解决这个问题。先单开一个服务器读取客户端发来消息的线程ServerToClientThread。
网友评论 ()条 查看