}
}
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());
推荐阅读
- python爬虫post,Python爬虫post的URL根本打不开
- 斐讯路由器什么软件管理,斐讯路由管理app
- 电脑怎么把显卡升级驱动,电脑怎么把显卡升级驱动系统
- 阿里云公司服务器续费,阿里云服务器续费多少钱
- python获取输入函数 python怎么获取输入数据
- 电视机网络怎么取消连接,网络电视怎样取消已连接网络
- html5播发器,h5视频播放器开发
- 有线手机游戏经营,单机手机游戏经营
- c语言求阶乘调用函数 求阶乘c语言程序函数调用