servercontrol.java

来自「用Java实现的网络画图程序」· Java 代码 · 共 87 行

JAVA
87
字号
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 + =
减小字号Ctrl + -
显示快捷键?