📄 chatclient.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 + -