import java.awt.event.*;
import java.io.*;
import java.net.Socket;
import javax.swing.*;
public class Client extends JFrame implements Runnable{
private JPanel jpanel=new JPanel();
private JLabel nameLabel=new JLabel("姓名");
private JTextField nameField=new JTextField();
private JTextArea msgArea=new JTextArea();
private JTextField sendField=new JTextField();
private JScrollPane jScrollPane1=new javax.swing.JScrollPane();
private BufferedReader reader;
private PrintWriter writer;
private Socket socket;
public Client(String title){
super(title);
this.setSize(360,340);
this.add(jpanel);
jpanel.setLayout(null);
msgArea.setEditable(false);
jpanel.add(nameLabel);
nameLabel.setBounds(10,10,60,20);
jpanel.add(nameField);
nameField.setBounds(60,10,270,21);
jpanel.add(sendField);
sendField.setBounds(10,270,320,21);
msgArea.setColumns(20);
msgArea.setRows(5);
jScrollPane1.setViewportView(msgArea);
jpanel.add(jScrollPane1);
jScrollPane1.setBounds(10,40,320,220);
sendField.addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent e){
writer.println(nameField.getText()+":"+sendField.getText());
sendField.setText("");
}
});
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Client client=new Client("迷你聊天屋");
client.setVisible(true);
client.getSocket();
}
@Override
public void run() {
// TODO Auto-generated method stub
while(true){
try{
msgArea.append(reader.readLine()+"\n");
}catch(Exception e){
e.printStackTrace();
}
}
}
private void getSocket(){
msgArea.append("尝试与服务器连接");
try{
socket=new Socket("127.0.0.1",1111);
msgArea.append("聊天准备完毕");
reader=new BufferedReader(new InputStreamReader(socket.getInputStream()));
writer=new PrintWriter(socket.getOutputStream(),true);
new Thread(this).start();
}catch(Exception e){
e.printStackTrace();
}
}
}