?? chatserver.java
字號:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
import java.net.*;
import java.io.*;
/*
* 聊天服務端的主框架類
*/
public class ChatServer extends JFrame implements ActionListener{
public static int port = 8888;//服務端的偵聽端口
ServerSocket serverSocket;//服務端Socket
Image icon;//程序圖標
JComboBox combobox;//選擇發送消息的接受者
JTextArea messageShow;//服務端的信息顯示
JScrollPane messageScrollPane;//信息顯示的滾動條
JTextField showStatus;//顯示用戶連接狀態
JLabel sendToLabel,messageLabel;
JTextField sysMessage;//服務端消息的發送
JButton sysMessageButton;//服務端消息的發送按鈕
UserLinkList userLinkList;//用戶鏈表
//建立菜單欄
JMenuBar jMenuBar = new JMenuBar();
//建立菜單組
JMenu serviceMenu = new JMenu ("服務(V)");
//建立菜單項
JMenuItem portItem = new JMenuItem ("端口設置(P)");
JMenuItem startItem = new JMenuItem ("啟動服務(S)");
JMenuItem stopItem=new JMenuItem ("停止服務(T)");
JMenuItem exitItem=new JMenuItem ("退出(X)");
JMenu helpMenu=new JMenu ("幫助(H)");
JMenuItem helpItem=new JMenuItem ("幫助(H)");
//建立工具欄
JToolBar toolBar = new JToolBar();
//建立工具欄中的按鈕組件
JButton portSet;//啟動服務端偵聽
JButton startServer;//啟動服務端偵聽
JButton stopServer;//關閉服務端偵聽
JButton exitButton;//退出按鈕
//框架的大小
Dimension faceSize = new Dimension(400, 600);
ServerListen listenThread;
JPanel downPanel ;
GridBagLayout girdBag;
GridBagConstraints girdBagCon;
/**
* 服務端構造函數
*/
public ChatServer(){
init();//初始化程序
//添加框架的關閉事件處理
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.pack();
//設置框架的大小
this.setSize(faceSize);
//設置運行時窗口的位置
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
this.setLocation( (int) (screenSize.width - faceSize.getWidth()) / 2,
(int) (screenSize.height - faceSize.getHeight()) / 2);
this.setResizable(false);
this.setTitle("聊天室服務端"); //設置標題
//程序圖標
icon = getImage("icon.gif");
this.setIconImage(icon); //設置程序圖標
show();
//為服務菜單欄設置熱鍵'V'
serviceMenu.setMnemonic('V');
//為端口設置快捷鍵為ctrl+p
portItem.setMnemonic ('P');
portItem.setAccelerator (KeyStroke.getKeyStroke (KeyEvent.VK_P,InputEvent.CTRL_MASK));
//為啟動服務快捷鍵為ctrl+s
startItem.setMnemonic ('S');
startItem.setAccelerator (KeyStroke.getKeyStroke (KeyEvent.VK_S,InputEvent.CTRL_MASK));
//為端口設置快捷鍵為ctrl+T
stopItem.setMnemonic ('T');
stopItem.setAccelerator (KeyStroke.getKeyStroke (KeyEvent.VK_T,InputEvent.CTRL_MASK));
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -