java简单聊天程序代码 java简单聊天程序代码辩答PPT( 二 )


}
}
class ButtonActionListener1 implements ActionListener{
JTextField tf;
JTextArea ta;
BufferedOutputStream bos;
public ButtonActionListener1(JTextField tf,JTextArea ta,BufferedOutputStream bos){
this.tf=tf;
this.ta=ta;
this.bos=bos;
}
public void actionPerformed(ActionEvent e){
String message=tf.getText();//获取文本框中java简单聊天程序代码的内容
if(!message.equals("")){
tf.setText("");//清空文本框
ta.append("BB:"+message+"\n");//添加到文本域并换行
try{
bos.write(message.getBytes());
bos.flush();
}catch(Exception ex){
System.out.println("发送失败java简单聊天程序代码!");
}
}
}
}
class MyThread1 extends Thread{
BufferedInputStream bis;
JTextArea ta;
public MyThread1(BufferedInputStream bis,JTextArea ta){
this.bis=bis;
this.ta=ta;
}
public void run(){
try{
while(true){
byte[] b=new byte[100];
int length=bis.read(b);
String message=new String(b,0,length);
ta.append("AA:"+message+"\n");
}
}catch(Exception e){
e.printStackTrace();
}
}
}
谁可以帮我做一下用Java编写的聊天程序可以实现发送表情功能啊 , ,求求求主聊天方
package com.king.Char;
import java.awt.BorderLayout;
import java.awt.Frame;
import java.awt.TextArea;
import java.awt.TextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.DataOutputStream;
import java.io.IOException;
import java.net.Socket;
import java.net.UnknownHostException;
public class MainChat extends Frame {
TextField tf = new TextField();
TextArea ta = new TextArea();
//为了方便在没连接是时候可以拿到这个socket设置为成员变量
Socket s=null;
DataOutputStream dos=null;
public void chatLaunch() {
this.setLocation(500, 300);
this.setSize(500, 300);
this.setVisible(true);
this.setResizable(false);
this.add(tf, BorderLayout.SOUTH);
this.add(ta, BorderLayout.NORTH);
pack();
this.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
disconnect();
System.exit(0);
}
});
tf.addActionListener(new myActionListener());
// new myListener()是监听对象 就是keyLISTENER 就是KeyAdapter 就是myListener
this.addKeyListener(new myListener());
//调用连接服务器
connectServlet();
}
// KeyAdapter实现了keyLISTENER接口
private class myListener extends KeyAdapter {
// 重写需要的方法
public void keyPressed(KeyEvent e) {
int key = e.getKeyCode();
switch (key) {
case KeyEvent.VK_ENTER:
ta.setText("iamqiang");
break;
}
}
}
private class myActionListener implements ActionListener {
// 就只有一个方法void actionPerformed(ActionEvent e) 发生操作时调用 。
public void actionPerformed(ActionEvent e) {
// trim()去掉空格
String str = tf.getText().trim();
ta.setText(str);
tf.setText("");
try {
// InputStreamgetInputStream()返回此套接字的输入流 。把str的数据流写到socket里然后连接服务器就可以取得数据流
dos.writeUTF(str);
dos.flush();
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
}
public void connectServlet() {
try {
s = new Socket("localhost", 8888);
dos=new DataOutputStream(s.getOutputStream());

推荐阅读