资源简介
聊天室项目开发需要的技术包括
1 java程序设计语言
2 swing基本GUI组件
3多线程实现
4 网络编程
5可视化界面设计
题目为简易聊天室
设计要求:用java实现基于C/S模式的聊天室程序,聊天室分为服务器端和客户端两部分,服务器端程序主要负责侦听客户端发来的消息,客户端需要登录到服务器端才能实现正常的聊天功能。
服务器端主要功能如下:在特定端口上进行侦听,等待客户端连接,统计在线人数,当停止服务时,断开所有用户连接。
客户端的主要功能如下:连接到已经开启聊天服务的服务器端,当服务器端开启的话,用户可以随时 登陆和注销。用户可以向所有人或某一个人发送消息。
界面要求:要求图形界面实现。
代码片段和文件信息
package dazuoye;
import java.net.*;
import java.io.*;
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
/* 发悄悄话的弹出式窗口类Mywindow */
class Mywindow extends frame implements ActionListener
{ TextField text1text2;
Button button1button2;
//构造函数初始化画出弹出式窗口界面
Mywindow()
{ super(“私聊窗口“);
setLayout (new GridLayout(32));
text1=new TextField(12);
text2=new TextField(8);
button1=new Button(“送出悄悄话“);
button2=new Button(“关闭此窗口“);
add(new Label(“送悄悄话到:“));
add(text1);
add(new Label(“输入您的悄悄话:“));
add(text2);
add(button2);
add(button1);
setSize(400190);
text1.setEditable(false);
setVisible(false);
button1.addActionListener(this);
button2.addActionListener(this);
setBackground(Color.pink);
addWindowListener( new WindowAdapter() //使窗口右上角关闭按钮可以用
{ public void windowClosing(WindowEvent e)
{ setVisible(false);
System.exit(0); }
}
);
}
//处理按钮事件的方法
public void actionPerformed(ActionEvent e)
{ if(e.getSource()==button1) //向服务器发送悄悄话
{
try { chatappletthree.out.writeUTF(“悄悄地对“+text1.getText()+“说:“+text2.getText() +“(我是“+chatappletthree.name+“)“);
}
catch(IOException e1 ) { }
}
else if(e.getSource()==button2) //关闭窗口
{ this.setVisible(false); }
}
}
//ApanelBpanelB2panelCpanel4个面板类画出聊天室主界面
/* 聊天室界面北部面板Apanel类 */
class Apanel extends Panel
{ TextField name_txt;
Button button1button2;
Checkbox box1box2box3;
CheckboxGroup sex;
Apanel()
{ name_txt=new TextField(10);
button1=new Button(“进入聊天室“);
button2=new Button(“退出聊天室“);
setLayout(new FlowLayout());
sex=new CheckboxGroup();
box1=new Checkbox(“男M“falsesex);
box2=new Checkbox(“女F“falsesex);
box3=new Checkbox(“隐藏性别“truesex);
add(new Label(“输入昵称“));
add(name_txt);
add(box1);
add(box2);
add(box3);
add(button1);
add(button2);
add(new Label(““));
}
}
/* 聊天室界面中部面板Bpanel类 */
class Bpanel extends Panel
{ TextArea chat_txt;
B2panel b2; //chat_txt即聊天文本显示区20行75列
Bpanel()
{ chat_txt=new TextArea(2575);
b2=new B2panel();
chat_txt.setEditable(false);
setLayout(new FlowLayout());
add(chat_txt);
add(b2);
}
}
/* 聊天室界面中部面板B2panel类 */
class B2panel ext
- 上一篇:java php代码.rar
- 下一篇:java 大整数计算器 包含源代码
评论
共有 条评论