📄 servercontrol.java
字号:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
public class ServerControl extends JFrame implements ActionListener{
private Thread server;
private JButton startButton;
private JButton exitButton;
private JLabel stateLabel;
private JLabel countLabel;
private boolean isAlived=true;
private SocketServer ss;
public ServerControl() {
try{
server=new Thread(ss=new SocketServer(this));
}catch(IOException e){}
server.start();
buildLayout();
}
private void buildLayout(){
try {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} catch (Exception exc) {
System.err.println("Error loading L&F: " + exc);
}
startButton =new JButton("停止服务器");
exitButton=new JButton("退出");
stateLabel=new JLabel("服务器在运行");
countLabel=new JLabel("当前连接数:0");
startButton.addActionListener(this);
exitButton.addActionListener(this);
JPanel panel=new JPanel();
panel.add(startButton);
panel.add(exitButton);
panel.add(stateLabel);
panel.add(countLabel);
getContentPane().add(panel,BorderLayout.CENTER);
setSize(400,70);
setVisible(true);
}
public void actionPerformed(ActionEvent e){
Object source=(Object)e.getSource();
if(source==startButton){
if(isAlived ){
server.suspend() ;
isAlived=false;
stateLabel.setText("服务器已停止");
startButton.setText("启动服务器");
}
else{
isAlived=true;
server.resume();
startButton.setText("停止服务器");
stateLabel.setText("服务器在运行");
}
}
else if(source==exitButton)
System.exit(0);
}
public void setCount(String text){
countLabel.setText(text);
}
public static void main(String args[]){
ServerControl ctrl=new ServerControl();
ctrl.setDefaultCloseOperation(EXIT_ON_CLOSE);
ctrl.setVisible(true);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -