?? server.java~10~
字號:
package train.server;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.BorderFactory;
import javax.swing.JTextArea;
import javax.swing.JButton;
import javax.swing.JTabbedPane;
import java.net.*;
import javax.swing.*;
import java.sql.*;
import train.mvc.*;
import java.awt.GridBagLayout;
import java.awt.GridBagConstraints;
import java.awt.Insets;
/**
* <p>Title: </p>
*
* <p>Description: </p>
*
* <p>Copyright: Copyright (c) 2006</p>
*
* <p>Company: 沈陽化工學院計算機</p>
*
* @author 彭勝勇 胡林
* @version 1.0
*/
public class Server extends JFrame {
ServerSocket serverSocket;
Socket socket;
IoStrategy poolManager;
JTabbedPane jTabbedPane1 = new JTabbedPane();
JButton disconnectjButton = new JButton();
JButton reconnectjButton = new JButton();
JScrollPane userjScrollPane = new JScrollPane();
JScrollPane exceptionjScrollPane = new JScrollPane();
JTextArea userjTextArea = new JTextArea();
JTextArea exceptionjTextArea = new JTextArea();
GridBagLayout gridBagLayout1 = new GridBagLayout();
public Server(IoStrategy poolManager) {
this.poolManager = poolManager;
try {
jbInit();
serverSocket = new ServerSocket(10000);
userjTextArea.append("Server is ready !\nWaiting for connect......\n");
this.setLocation(100,100);
this.setSize(600,500);
this.setResizable(false);
this.setVisible(true);
} catch (Exception ex) {
ex.printStackTrace();
}
//System.out.println("Server is ready......");
acceptConnection();
}
public static void main(String[] args) {
IoStrategy poolManager=null;
Model model = new ModelDBImpl();
BrokerServer broker = new BrokerServer(model);
poolManager = new ThreadPoolManager(broker);
Server server = new Server(poolManager);
}
private void jbInit() throws Exception {
this.getContentPane().setLayout(gridBagLayout1);
jTabbedPane1.setTabPlacement(JTabbedPane.BOTTOM);
disconnectjButton.setText("停止服務");
reconnectjButton.setText("啟動服務");
this.setTitle("火車售票管理系統--服務器");
jTabbedPane1.add(userjScrollPane, "用戶連接");
userjScrollPane.getViewport().add(userjTextArea);
jTabbedPane1.add(exceptionjScrollPane, "異常輸出");
exceptionjScrollPane.getViewport().add(exceptionjTextArea);
this.getContentPane().add(disconnectjButton,
new GridBagConstraints(0, 1, 1, 1, 0.0, 0.0
, GridBagConstraints.CENTER, GridBagConstraints.NONE,
new Insets(17, 70, 21, 0), 0, 8));
this.getContentPane().add(reconnectjButton,
new GridBagConstraints(1, 1, 1, 1, 0.0, 0.0
, GridBagConstraints.EAST, GridBagConstraints.NONE,
new Insets(19, 124, 21, 71), 6, 6));
this.getContentPane().add(jTabbedPane1,
new GridBagConstraints(0, 0, 2, 1, 1.0, 1.0
, GridBagConstraints.CENTER, GridBagConstraints.BOTH,
new Insets(11, 21, 0, 23), 325, 242));
}
private void acceptConnection(){
while(true){
try{
socket=serverSocket.accept();
poolManager.ioService(socket);
}
catch(Exception e){
System.out.println("Excetpion in acceptConnection:"+e.getMessage() );
}
}
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -