⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 chatserver.java

📁 个人收集JAVA源代码编程聊天工具
💻 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 + -