📄 testserver.java
字号:
import java.awt.Panel;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
public class TestServer extends JFrame implements ActionListener
{
DataInputStream dis;
DataOutputStream dos;
JTextField tf;
JTextArea ta;
public TestServer()
{
this.setTitle("聊天程序服务端");
JScrollPane jp = new JScrollPane();
ta = new JTextArea(10,10);
Panel p = new Panel();
tf = new JTextField(20);
JButton b = new JButton("发送");
b.addActionListener(this);
tf.addActionListener(this);
p.add(tf);
p.add(b);
jp.setViewportView(ta);
this.getContentPane().add(jp);
this.getContentPane().add("South",p);
this.setSize(350,250);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
tf.requestFocus();
this.connect();
this.createReadThread();
}
public void connect()
{
try
{
ServerSocket ss=new ServerSocket(911);//端口
Socket s2=ss.accept();
InputStream is=s2.getInputStream();
dis=new DataInputStream(is);
OutputStream os=s2.getOutputStream();
dos=new DataOutputStream(os);
}
catch(IOException e)
{
System.out.println("连接服务器故障!");
}
}
public void createReadThread()
{
ReadThread1 rt=new ReadThread1(this.ta,this.dis);
rt.start();
}
public static void main(String[] args)
{
new TestServer();
}
@Override
public void actionPerformed(ActionEvent arg0)
{
try
{
String s=tf.getText();
dos.writeUTF(s);
ta.append("自己说:"+s);
ta.append("\n");
tf.setText("");
tf.requestFocus();
}
catch(IOException e1)
{
e1.printStackTrace();
}
// TODO Auto-generated method stub
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -