预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共45页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

附录源代码 importjava.awt.*; importjava.awt.event.*; importjavax.swing.*; importjavax.swing.event.*; importjava.net.*; importjava.io.*; /* *聊天服务端的主框架类 */ publicclassChatServerextendsJFrameimplementsActionListener{ publicstaticintport=8888;//服务端的侦听端口 ServerSocketserverSocket;//服务端Socket Imageicon;//程序图标 JComboBoxcombobox;//选择发送消息的接受者 JTextAreamessageShow;//服务端的信息显示 JScrollPanemessageScrollPane;//信息显示的滚动条 JTextFieldshowStatus;//显示用户连接状态 JLabelsendToLabel,messageLabel; JTextFieldsysMessage;//服务端消息的发送 JButtonsysMessageButton;//服务端消息的发送按钮 UserLinkListuserLinkList;//用户链表 //建立菜单栏 JMenuBarjMenuBar=newJMenuBar(); //建立菜单组 JMenuserviceMenu=newJMenu("服务(V)"); //建立菜单项 JMenuItemportItem=newJMenuItem("端口设置(P)"); JMenuItemstartItem=newJMenuItem("启动服务(S)"); JMenuItemstopItem=newJMenuItem("停止服务(T)"); JMenuItemexitItem=newJMenuItem("退出(X)"); JMenuhelpMenu=newJMenu("帮助(H)"); JMenuItemhelpItem=newJMenuItem("帮助(H)"); //建立工具栏 JToolBartoolBar=newJToolBar(); //建立工具栏中的按钮组件 JButtonportSet;//启动服务端侦听 JButtonstartServer;//启动服务端侦听 JButtonstopServer;//关闭服务端侦听 JButtonexitButton;//退出按钮 //框架的大小 DimensionfaceSize=newDimension(400,600); ServerListenlistenThread; JPaneldownPanel; GridBagLayoutgirdBag; GridBagConstraintsgirdBagCon; /** *服务端构造函数 */ publicChatServer(){ init();//初始化程序 //添加框架的关闭事件处理 this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.pack(); //设置框架的大小 this.setSize(faceSize); //设置运行时窗口的位置 DimensionscreenSize=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.setMnemon