⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 chatclient.java

📁 实现服务器端和客户端聊天交互功能
💻 JAVA
字号:
package chat;

import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.net.*;
import java.util.Date;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextArea;

public class ChatClient {

	/**
	 * @param args
	 */
	JFrame jf = new JFrame("Client");
	JPanel jp = new JPanel();
	JTextArea jtainput = new JTextArea();
	JTextArea jtaoutput = new JTextArea();
	JButton jb = new JButton("Send");
	Socket sc;
	ObjectOutputStream oos;
	
	public ChatClient(){
		
		jp.setLayout(new GridLayout(2, 1, 15, 15));
		jp.add(jtainput);
		jp.add(jtaoutput);
		jf.add(jp, BorderLayout.CENTER);
		jf.add(jb, BorderLayout.SOUTH);
		jf.setSize(300, 300);
		jf.setVisible(true);
				
		try {
			
			sc = new Socket("127.0.0.1", 9999);
			oos = new ObjectOutputStream(sc.getOutputStream());
			ClientThread ct = new ClientThread();
			ct.start();
		} catch (UnknownHostException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		jb.addActionListener(new ActionListener(){

			public void actionPerformed(ActionEvent arg0) {
				// TODO Auto-generated method stub
				ChatMessage cm = new ChatMessage(new Date(), jtaoutput.getText());
				try {
					
//					oos = new ObjectOutputStream(sc.getOutputStream());
					oos.writeObject(cm);
					jtaoutput.setText("");
				} catch (IOException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			}		
		});
	}
	
	class ClientThread extends Thread{
		
		public void run(){
			
			try {
				
				ObjectInputStream ois = new ObjectInputStream(sc.getInputStream());
				
				while(true){
					
					jtainput.append(ois.readObject().toString());
				}				
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			} catch (ClassNotFoundException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
	}
	
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		ChatClient cc = new ChatClient();
	}

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -