📄 server.java
字号:
import java.io.*;
import java.net.*;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
class server{
JFrame main_frame;
JPanel npanel,cpanel,spanel;
JTextField send_textfield;
JTextArea show_textarea;
JButton open_button,send_button;
JScrollPane scroll_textarea;
PrintWriter out;
mythread a;
server()
{
main_frame=new JFrame("服务端");
npanel=new JPanel(new FlowLayout(FlowLayout.CENTER));
cpanel=new JPanel(new FlowLayout(FlowLayout.LEFT));
spanel=new JPanel(new FlowLayout(FlowLayout.LEFT));
send_textfield=new JTextField(15);
show_textarea=new JTextArea(20,18);
open_button=new JButton("打开服务端");
send_button=new JButton("发送");
scroll_textarea=new JScrollPane(show_textarea,
JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,
JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS
);
npanel.add(open_button);
cpanel.add(scroll_textarea);
spanel.add(send_textfield);
spanel.add(send_button);
main_frame.getContentPane().add(npanel,BorderLayout.NORTH);
main_frame.getContentPane().add(cpanel,BorderLayout.CENTER);
main_frame.getContentPane().add(spanel,BorderLayout.SOUTH);
main_frame.setSize(250,500);
main_frame.setVisible(true);
open_button.addMouseListener(new mymouse(this));
send_button.addMouseListener(new mymouse(this));
}
void opensocket()
{
a=new mythread(this);
a.start();
}
void showarea()
{
String message=new String();
message=send_textfield.getText()+"\r\n";
show_textarea.append("服务端:"+message);
}
public void senddata()
{
String message=new String();
message=send_textfield.getText();
a.out.println(message);
a.out.flush();
}
public static void main(String args[])
{
server qkl=new server();
}
}
class mymouse implements MouseListener
{
server tomouse;
mymouse(server tomouse)
{
this.tomouse=tomouse;
}
public void mouseClicked(MouseEvent e)
{
JButton one=(JButton)e.getSource();
if(one==tomouse.open_button)
{
tomouse.opensocket();
}
else
{
tomouse.showarea();
tomouse.senddata();
tomouse.send_textfield.setText("");
}
}
public void mousePressed(MouseEvent e) {
}
public void mouseReleased(MouseEvent e) {
}
public void mouseEntered(MouseEvent e) {
}
public void mouseExited(MouseEvent e) {
}
}
class mythread extends Thread
{
server tomythread;
ServerSocket sc;
BufferedReader in;
PrintWriter out;
mythread(server tommythread)
{
this.tomythread=tommythread;
try{
sc=new ServerSocket(730);
tomythread.open_button.setEnabled(false);
}
catch(IOException aa)
{
}
}
public void run()
{
while(true)
{
try
{
Socket scc=sc.accept();
tomythread.show_textarea.append("客户端已经连接!"+"\r\n");
in=new BufferedReader(new InputStreamReader(scc.getInputStream()));
out=new PrintWriter(new OutputStreamWriter(scc.getOutputStream()));
while(true)
{
String message=new String();
message=in.readLine();
if(message!=null)
tomythread.show_textarea.append("客户端:"+message+"\r\n");
else
{
tomythread.show_textarea.append("客户已经断开连接"+"\r\n");
sc.close();
return;
}
}
}
catch(IOException e)
{
tomythread.show_textarea.append("readline error!");
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -