packageChat;importjava.io.*;importjava.net.*;importjava.awt.*;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjavax.swing.*;publicclassClient {
JTextArea jta;
JTextField jtf;
BufferedReader in;
PrintWriter out;privatevoidinitGui(){
JFrame f=newJFrame("Client");
f.setSize(400,300);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jta=newJTextArea();
jta.setEditable(false);
f.add(newJScrollPane(jta));
jtf=newJTextField();
f.add(jtf,"South");
f.setVisible(true);
jtf.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEvent arg0) {
String text=jtf.getText();
jtf.setText("");
out.println(text);
out.flush();
}
});
}privatevoidinitNet(){try{
Socket s=newSocket("127.0.0.1",8888);
out=newPrintWriter(s.getOutputStream());
in=newBufferedReader(newInputStreamReader(s.getInputStream()));
}catch(Exception e) {
e.printStackTrace();
}
}privatevoidreceive(){try{while(true){
String str=in.readLine();if(str==null){return;
}
jta.append("说"+str+"\n");
}
}catch(IOException e) {
e.printStackTrace();
}
}publicClient(){
initGui();
initNet();
}publicstaticvoidmain(String[] args)throwsException{
Client c=newClient();
c.receive();
}
}