rformed(ActionEvent e) {
if (e.getActionCommand().equals("Send")) {
String msg = getMsgText().getText();
String s = "?: " + df.format(new Date()) + "\n" + msg;
content = content + s + "\n";
getContentText().setText(content.trim());
getMsgText().setText("");
try {
PrintStream ps = new PrintStream(socket.getOutputStream());
ps.println(msg);
} catch (UnknownHostException e1) {
e1.printStackTrace();
} catch (IOException e1) {
e1.printStackTrace();
}
} else if (e.getActionCommand().equals("Cancel")) {
System.exit(0);
}
}
public static void main(String[] args) {
try {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (InstantiationException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (UnsupportedLookAndFeelException e) {
e.printStackTrace();
}
Client c = new Client();
c.accept();
}
public void accept(){
try {
while (true) {
BufferedReader br = new BufferedReader(new InputStreamReader(
socket.getInputStream()));
char[] msg = new char[1024];
String msgs = "";
while (br.read(msg) != -1) {
msgs = new String(msg);
if (msgs != null) {
content += ": " + df.format(new Date()) + "\n"
+ msgs.trim() + "\n";
getContentText().setText(content);
}
}
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
2.服务器端
package com.server;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintStream;
import java.net.ServerSocket;
import java.net.Socket;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.swing.UIManager;
import javax.swing.UnsupportedLookAndFeelException;
import com.client.Client;
import com.ui.ChatUI;
public class Server extends ChatUI implements ActionListener {
private String content = "";
ServerSocket server;
Socket socket;
DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
public Server() {
super("服务器");
getSendBtn().addActionListener(this);
getCancelBtn().addActionListener(this);
try {
server = new ServerSocket(1234);
while (true) {
socket = server.accept();
ServerThread s = new ServerThread(socket, getContentText());
new Thread(s).start();
}
} catch (IOException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
try {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (InstantiationException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (UnsupportedLookAndFeelException e) {
e.printStackTrace();
}
new Server();
// s.accept();
}
public void actionPerformed(ActionEvent e) {
if (e.getActionCommand().equals("Send")) {
String msg = getMsgText().getText();
String s = "服务器:" + df.format(new Date(