如何用java做一个聊天小程序 要求使用图形用户界面,可以实现一个聊天室中多人聊天,也可以两人私聊,

可以发给我不,1315235723@qq.com

第1个回答  2012-11-09
给你一个简单的实现吧,注意一定要先运行MyServer.java

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

public class MyClient extends JFrame implements ActionListener{
JTextField tf;
JTextArea tx;
JButton bt;
PrintWriter out;

public MyClient(){

tf=new JTextField(20);
tx=new JTextArea();
tx.setLineWrap(true);
tx.setWrapStyleWord(true);
JPanel pan=new JPanel();
JScrollPane jsp=new JScrollPane(tx);
add(jsp,"Center");
bt=new JButton("SEND");
bt.addActionListener(this);
pan.add(tf);
pan.add(bt);
add(pan,"South");
this.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
});

setTitle("THE CLIENT");
setSize(400,300);
setVisible(true);

try{
Socket socket=new Socket("127.0.0.1",1680);

out=new PrintWriter(socket.getOutputStream(),true);
InputStreamReader in = new InputStreamReader(socket.getInputStream());
BufferedReader sin=new BufferedReader(in);

String s;
while(true){
s=sin.readLine();
tx.append("#Server Said#: "+s+"\n");
}
}catch(Exception e){
e.printStackTrace();
}
}
public void actionPerformed(ActionEvent e){
if(e.getSource()==bt){
tx.append("@Client Said@: "+tf.getText()+"\n");
out.println(tf.getText());
tf.setText("");
}
}

public static void main(String[] args){
MyClient mct = new MyClient();
}
}

//MyServer.java

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

public class MyServer extends JFrame implements ActionListener{
JTextField tf;
JTextArea tx;
JButton bt;
JScrollPane jsp;
JPanel pan;
PrintWriter out;

public MyServer(){
tx=new JTextArea();
tx.setLineWrap(true);
tx.setWrapStyleWord(true);
jsp=new JScrollPane(tx);
tf=new JTextField(20);
bt=new JButton("SEND");
bt.addActionListener(this);
pan=new JPanel();
pan.add(tf);
pan.add(bt);
add(pan,"South");
add(jsp,"Center");
this.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
});

setTitle("THE SERVER");
setSize(400,300);
setVisible(true);

try{
ServerSocket server = new ServerSocket(1680);
Socket socket = server.accept();

InputStreamReader in = new InputStreamReader(socket.getInputStream());
BufferedReader sin=new BufferedReader(in);
out=new PrintWriter(socket.getOutputStream(),true);

while(true){
String s=sin.readLine();
tx.append("@Client Said@: "+s+"\n");
}

}catch(Exception e){
e.printStackTrace();
}

}
public void actionPerformed(ActionEvent e){
if(e.getSource()==bt){
String st = tf.getText();
tx.append("#Server Said#: "+st+"\n");
out.println(st);
tf.setText("");
}
}

public static void main(String[] args){
MyServer msr = new MyServer();
}
}追问

你的不错哦,谢了,虽然不是我想要的,但你的程序很值得我学习

第2个回答  2012-11-09
用socket协议
第3个回答  2012-11-09
晚上发你追问

好的,在此谢过了,记得发啊

本回答被提问者采纳

想求一个java聊天小程序,使用图形用户界面和socket通讯 功能:可以实现...
使用websocket创建ws服务器,nat123解析一个地址,分配一个端口给他用,发布到外网。客户端拨通地址 登陆 接入websocket服务,心跳机制要做好,上下线掉线更新列表,注册存储用户信息,更新用户列表。客户端可以发起群聊、私聊、收发文件、分享,甚至发送服务器消息,然后反馈消息,响应远程服务事件。这就是一...

速求用JAVA语言写聊天室的源代码
\/\/执行过程中,有两个个参数时的构造方法,第一个参数hostname指定服务器地址 \/\/第一个参数serverPort指定服务器端口号 public ClientSocketDemo(String hostname,String serverPort){ try { socket = new Socket(hostname,Integer.parseInt(serverPort));in = new DataInputStream(socket.getInputStream...

java聊天室发送信息信息怎么一左一右
方便区分。java聊天室发送信息时采用一左一右的消息格式,是为了区分两人聊天的消息是谁发的,而在一左一右。java聊天室使用图形用户界面和socket通信,能实现一个聊天室中多人聊天,可以两人私聊,可以发送文件。

用Java做一个聊天程序,在任务栏处提示效果怎么做?
import java.awt.event.*;import javax.swing.*;public class SystemTrayTest extends JFrame implements ActionListener { \/\/创建菜单、菜单项数组、消息类型 PopupMenu popup=new PopupMenu();Menu menu=new Menu("消息类型");MenuItem[] itemArray ={new MenuItem("信息消息"),new MenuItem("常...

如何使用java设计一个微信小程序
你好,java实现开发答题小程序首先要明确您的需求,目前市面上的答题小程序均是在微擎框架基础上开发的应用,比如挑战答题王等,但这有个弊端就是针对开发者来说无法更好进行二次开发,无法按用户的需求实现各类答题模式需求。敬请采纳:上效果图 答题小程序主页面 释义:通过上面的效果图我们可以看到java...

【急】编一个java小程序
1) 采用AWT或者SWING设计用户界面;2) 基本功能为实现8位十进制数(含整数和小数)的加,减,乘,除,开平方功能;3) 基本要求完成的基础上,可自行设计增加新功能。3、创建一个简单画板基本要求如下:1) 设计类似于Windows画板的程序;2) 基本要求为可以绘制椭圆,正圆,矩形,正方形,多边形;可以填充颜色,添加字符,删除...

如何用c语言作出有图形界面的小程序
GUI:图形用户接口(Graphical User Interface)这个其实就是应用程序界面的意思。命令行下输入命令的方式来进行操作那叫命令行接口,有了应用程序界面后,可以通过鼠标进行操作。这些界面就是GUI了。由于图形界面只是方便用户操作,具体的内部实现还是命令行方式完成的,因此称界面为接口。

怎么学java(怎么学java软件编程)
一、学习基础语言:掌握基础语言是非常重要的一个步骤。在学习过程中,如果你不了解基础语言知识,在后期就会出现不知道该做什么的情况,但不是要求你把所有的基础知识背熟,最重要的是掌握Java的核心概念和编码技术,这样对于理解代码知识有很大的帮助。千锋教育就有线上免费Java线上公开课。 二、开始编写一些小程序:学习...

想做个小程序,不知道要多少钱
第一种就是自己开发自己做。这也是最省钱的方式,如果自己来开发的话,就可以省掉那些付给开发人员的钱。通过这种方式,如果开发个人版的小程序,不需要花费一分钱就可以拥有自己的小程序。而如果要开发一个具有支付功能的小程序商城,是企业版的话,就需要在进行微信认证,而只需要给腾讯支付300元的认证...

1.做一个微信小程序需要多少钱?
1、比如你需求简单,可以选择模板开发的方式,那价格就便宜很多了,大概是3000就可以做一个有拼团、砍价等功能的小程序商城了 2、比如需求复杂的话,那就可以选择定制开发的方式了,这是根据你的需求来一个个开发的,所以价格是比较贵的,一般3万起,上不封顶 ...

相似回答