教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 幼儿教育 >

java聊天室软件课程设计

来源:网络收集 时间:2025-11-19
导读: 利用java实现基于C/S模式的聊天室程序。聊天室共分为服务器端和客户端两部分,服务器端主要负责侦听客户端发来的消息,客户端需登录到服务器端才可以实现正常的聊天功能。 聊天室服务器端代码(7个java文件)1.ChatServer.java 该类包含名为ChatServer的public

利用java实现基于C/S模式的聊天室程序。聊天室共分为服务器端和客户端两部分,服务器端主要负责侦听客户端发来的消息,客户端需登录到服务器端才可以实现正常的聊天功能。

聊天室服务器端代码(7个java文件)1.ChatServer.java

该类包含名为ChatServer的public类,定义了服务器端的界面,以及添加事件侦听与事件处理。

importjava.awt.*;

importjava.awt.event.*;importjavax.swing.*;

importjavax.swing.event.*;http://www.77cn.com.cn.*;importjava.io.*;

/*

*聊天服务端的主框架类*/

publicclassChatServerextendsJFrameimplementsActionListener{

publicstaticintport=8888;//服务端的侦听端口ServerSocketserverSocket;//服务端SocketImageicon;//程序图标

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)");//建立工具栏

利用java实现基于C/S模式的聊天室程序。聊天室共分为服务器端和客户端两部分,服务器端主要负责侦听客户端发来的消息,客户端需登录到服务器端才可以实现正常的聊天功能。

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'

利用java实现基于C/S模式的聊天室程序。聊天室共分为服务器端和客户端两部分,服务器端主要负责侦听客户端发来的消息,客户端需登录到服务器端才可以实现正常的聊天功能。

serviceMenu.setMnemonic('V');

//为端口设置快捷键为ctrl+pportItem.setMnemonic('P');portItem.setAccelerator

(KeyEvent.VK_P,InputEvent.CTRL_MASK));//为启动服务快捷键为ctrl+sstartItem.setMnemonic('S');startItem.setAccelerator

(KeyEvent.VK_S,InputEvent.CTRL_MASK));//为端口设置快捷键为ctrl+TstopItem.setMnemonic('T');stopItem.setAccelerator

(KeyEvent.VK_T,InputEvent.CTRL_MASK));//为退出设置快捷键为ctrl+xexitItem.setMnemonic('X');exitItem.setAccelerator

(KeyEvent.VK_X,InputEvent.CTRL_MASK));

//为帮助菜单栏设置热键'H'helpMenu.setMnemonic('H');

//为帮助设置快捷键为ctrl+phelpItem.setMnemonic('H');helpItem.setAccelerator

(KeyEvent.VK_H,InputEvent.CTRL_MASK));

}

/**

*程序初始化函数*/

publicvoidinit(){

ContainercontentPane=getContentPane();contentPane.setLayout(newBorderLayout());//添加菜单栏

serviceMenu.add(portItem);serviceMenu.add(startItem);serviceMenu.add(stopItem);

(KeyStroke.getKeyStroke

(KeyStroke.getKeyStroke

(KeyStroke.getKeyStroke

(KeyStroke.getKeyStroke

(KeyStroke.getKeyStroke

利用java实现基于C/S模式的聊天室程序。聊天室共分为服务器端和客户端两部分,服务器端主要负责侦听客户端发来的消息,客户端需登录到服务器端才可以实现正常的聊天功能。

serviceMenu.add(exitItem);jMenuBar.add(serviceMenu);helpMenu.add(helpItem);jMenuBar.add(helpMenu);setJMenuBar(jMenuBar);

//初始化按钮

portSet=newJButton("端口设置");startServer=newJButton("启动服务");stopServer=newJButton("停止服务");exitButton=newJButton("退出");//将按钮添加到工具栏toolBar.add(portSet);

toolBar.addSeparator();//添加分隔栏toolBar.add(startServer);toolBar.add(stopServer);

toolBar.addSeparator();//添加分隔栏toolBar.add(exitButton);

contentPane.add(toolBar,BorderLayout.NORTH);//初始时,令停止服务按钮不可用stopServer.setEnabled(false);stopItem.setEnabled(false);//为菜单栏添加事件监听

portItem.addActionListener(this);startItem.addActionListener(this);stopItem.addActionListener(this);exitItem.addActionListener(this);helpItem.addActionListener(this);//添加按钮的事件侦听

portSet.addActionListener(this);startServer.addActionListener(this);stopServer.addActionListener(this);exitButton.addActionListener(this);combobox=newJComboBox();combobox.insertItemAt("所有人",0);combobox.setSelectedIndex(0);messageShow=newJTextArea();messageShow.setEditable(false);//添加滚动条

利用java实现基于C/S模式的聊天室程序。聊天室共分为服务器端和客户端两部分,服务器端主要负责侦听客户端发来的消息,客户端需登录到服务器端才可以实现正常的聊天功能。

messageScrollPane=newJScrollPane(messageShow,

JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);messageScrollPane.setPreferredSize(newDimension(400,400));messageScrollPane.revalidate();showStatus=newJTextField(35);showStatus.setEditable(false);sysMessage=newJTextField(24);sysMessage.setEnabled(false);

sysMessageButton=newJButton();sysMessageButton.setText("发送");//添加系统消息的事件侦听

sysMessage.addA …… 此处隐藏:13145字,全部文档内容请下载后查看。喜欢就下载吧 ……

java聊天室软件课程设计.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/1529783.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)