📄 chatclient.java
字号:
package chat;
import java.net.*;
import java.io.*;
import javax.swing.*;
import java.applet.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class ChatClient extends Applet implements Runnable{
//Container cont = this.getContentPane();
JButton buttonSendMessage = new JButton("Send Message");
JTextField textField = new JTextField();
JTextArea textArea = new JTextArea();
JScrollPane scrollPane = new JScrollPane();
Socket con = null;
ObjectOutputStream output = null;
ObjectInputStream input = null;
public void init(){
//this.setTitle("IM Client");
this.setLayout(null);
textField.setBounds(20, 20, 200, 30);
textArea.setBounds(20, 70, 300, 150);
textArea.setEditable(false);
textArea.setLineWrap(true);
scrollPane.setBounds(20, 70, 300, 150);
buttonSendMessage.setBounds(250, 20, 120, 30);
buttonSendMessage.addActionListener(new buttonSendMessage_ActionListener());
this.add(buttonSendMessage,null);
this.add(textField,null);
this.add(textArea,null);
this.add(scrollPane,null);
scrollPane.getViewport().add(textArea);
//this.setSize(400,300);
//this.setVisible(true);
new Thread(this).start();
}
public void run(){
try{
con = new Socket("localhost",8000);
textArea.insert("与服务器连接成功!\n",textArea.getText().length());
output = new ObjectOutputStream(con.getOutputStream());
input = new ObjectInputStream(con.getInputStream());
output.writeObject("<Client said:>\n");
output.flush();
output.writeObject("Hello!\n");
output.flush();
String msg = (String)input.readObject();
while(!msg.equals("quit")){
textArea.insert(msg,textArea.getText().length());
textArea.moveCaretPosition(textArea.getText().length());
msg = (String)input.readObject();
}
output.close();
input.close();
con.close();
}catch(Exception e){
System.out.println(e);
}
}
public void SendMessage(){
String str = textField.getText();
textArea.insert("<Client said:>\n",textArea.getText().length());
textArea.insert(str+"\n",textArea.getText().length());
textField.setText("");
textArea.moveCaretPosition(textArea.getText().length());
try{
output.writeObject("<Client said:>\n");
output.flush();
output.writeObject(str+"\n");
output.flush();
}catch(Exception e){
System.out.println(e);
}
}
class buttonSendMessage_ActionListener implements ActionListener{
public void actionPerformed(ActionEvent e){
SendMessage();
}
}
/*
public static void main(String args[]){
new ChatClient();
}
*/
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -