• 大小: 3.54MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-09-14
  • 语言: Java
  • 标签:

资源简介

java 网络聊天系统的设计与实现.系统可以采用任何一种流行的,Java支持的数据库,本系统采用了Microsoft公司的Access作为后台数据库。通过对现在流行的一些Icq的参考.

资源截图

代码片段和文件信息

import java.awt.*;
import java.awt.event.*;
import java.net.*;
import java.io.*;
import javax.swing.*;

public class Client extends Jframe implements ActionListenerRunnable
{
public static int port=8888;
ServerSocket server;
Socket client;
BufferedReader cin;
    PrintWriter cout;

private JLabel userlabel=new JLabel(“用户名“);;
private JLabel passwordlabel=new JLabel(“密码“);
private JTextField username=new JTextField(10);
private JPasswordField password=new JPasswordField(10);
private JButton loginButton=new JButton(“登录“);
private JButton exitButton=new JButton(“退出“);
private JPanel p1=new JPanel();
JButton messageButton=new JButton(“发送消息“);
JTextField clientMessage=new JTextField(““25);
JPanel p2=new JPanel();

JScrollPane messageScrollPane;
JTextArea message=new JTextArea();
Thread chart=null;

public Client()
{
super(“网络聊天客户端“);

p1.add(userlabel);
p1.add(username);
p1.add(passwordlabel);
p1.add(password);
p1.add(loginButton);
p1.add(exitButton);
loginButton.addActionListener(this);
exitButton.addActionListener(this);
this.getContentPane().add(p1“North“);
p2.add(clientMessage);
p2.add(messageButton);
messageButton.addActionListener(this);
messageScrollPane=new JScrollPane(messageJScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED
JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
this.getContentPane().add(p2“South“);
this.getContentPane().add(messageScrollPane“Center“);
this.setSize(500300);
this.setDefaultCloseOperation(Jframe.EXIT_ON_CLOSE);
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==loginButton)
{
String pword=new String(password.getPassword());
if(loginServer(username.getText()pword))
{
chart=new Thread(this);
chart.start();

}else{
JOptionPane.showMessageDialog(null“user name or password error!“);
}
}else if(e.getSource()==exitButton)
{
cout.println(“exit“);
chart=null;
}
if (e.getSource()==messageButton)
{
sendMessage(clientMessage.getText());
message.append(“发送:“+clientMessage.getText()+“\n“);
}
}
public boolean loginServer(String usernameString password)
{
try{

client=new Socket(“localhost“8888);
cin=new BufferedReader(new InputStreamReader(client.getInputStream()));
        cout=new PrintWriter(client.getOutputStream()true);
        cout.println(username);
        cout.println(password);
        String readLine=cin.readLine();
        if(readLine.equals(“ok“))
         {
         message.append(“连接到服务器!\n“);
         return true;
         }
         }catch(Exception e)
         {
         }
         return false; 
}

public void run()
{
String aline;
try{
while(chart!=null&&(aline=cin.readLine() )!=null)
        {
          if(aline.equals(“exit“)||aline.equals(“stop“))
          {
           message.append(“服务器已断开!重新登录!\n“);
           break;
          }else message.a

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件     163840  2009-07-06 08:48  计063\chart.mdb

     文件       4567  2009-08-30 09:41  计063\Client.class

     文件     325621  2009-07-03 09:26  计063\client.jar

     文件       3426  2009-07-03 08:10  计063\Client.java

     文件    3150848  2009-10-27 19:52  计063\JAVA课程设计.doc

     文件         20  2009-07-03 09:25  计063\manifest.mf

     文件         20  2009-07-03 09:27  计063\manifest1.mf

     文件       5508  2009-07-03 09:21  计063\Server.class

     文件     650224  2009-07-03 09:27  计063\server.jar

     文件       4758  2008-07-02 16:06  计063\Server.java

     目录          0  2009-10-27 19:52  计063

----------- ---------  ---------- -----  ----

              4308832                    11


评论

共有 条评论

相关资源