📄 clientwindow.java
字号:
import java.io.*;
import java.net.*;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class ClientWindow extends JFrame implements ActionListener{
JTextArea textarea;//文本域主窗口
JPanel panel;
JTextField textField;//发送框
JButton bt;
Socket socket;
InputStream is;
OutputStream os;
DataInputStream DIS;
PrintStream PS;
String t;
PrintStream out ;
BufferedReader in;
ClientWindow(String s){
super(s);
//输出窗口
Container contentPane = getContentPane();
contentPane.setLayout(new BorderLayout());
textarea = new JTextArea();
textarea.setColumns(50);
textarea.setRows(5);
textarea.setLineWrap(true);
textarea.setBackground(Color.white);
textarea.setEditable(false);
contentPane.add(new JScrollPane(textarea),BorderLayout.CENTER);
panel = new JPanel();
textField = new JTextField(10);
textField.setForeground(Color.blue);
textField.addActionListener(this);
bt = new JButton("发送");
bt.addActionListener(this);
panel.add(textField);
panel.add(bt);
contentPane.add(panel,BorderLayout.SOUTH);
setSize(400,400);
setVisible(true);
//处理通讯
try{
socket = new Socket("localhost",8094);
//向主机申请连接
out = new PrintStream(socket.getOutputStream());
in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
while(true){
// 1. 读取服务器反馈信息。
String x=in.readLine();
textarea.append(x+"\n");
}
}
catch(Exception e){
System.out.println("ERROR:"+e);
}
}
public void actionPerformed(ActionEvent e){
if(e.getSource()==bt){
t = textField.getText();
out.println("唐唐说:"+t);//将读取的字符串传给服务器端
textarea.append("唐唐说:"+t+"\n");
textField.setText("");
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -