java课程设计报告-聊天室(4)

2019-01-07 16:37

\\n\

课 程 设 计 报 告 书 专 用 纸

try{ client.output.writeObject(\聊天信息\ client.output.flush();

client.output.writeObject(msg); client.output.flush();

}

catch (Exception e){

//System.out.println(\

}

Node node = userLinkList.findUser(toSomebody);

if(node != null){ node.output.writeObject(\聊天信息\ node.output.flush();

node.output.writeObject(msg); node.output.flush();

}

}

}

else if(type.equalsIgnoreCase(\用户下线\ Node node = userLinkList.findUser(client.username); userLinkList.delUser(node);

String msg = \用户 \下线\\n\ int count = userLinkList.getCount(); combobox.removeAllItems(); combobox.addItem(\所有人\ int i = 0;

while(i < count){ node = userLinkList.findUser(i); if(node == null) { i ++; continue; }

combobox.addItem(node.username);

i++;

}

combobox.setSelectedIndex(0); textarea.append(msg);

textfield.setText(\在线用户\人 sendToAll(msg);//向所有人发送消息

sendUserList();//重新发送用户列表,刷新

第 15 页 共 18 页

课 程 设 计 报 告 书 专 用 纸

break;

} }

catch (Exception e){ //System.out.println(e);

}

}

} /*

* 向所有人发送消息 */

public void sendToAll(String msg){ int count = userLinkList.getCount(); int i = 0; while(i < count){ Node node = userLinkList.findUser(i); if(node == null) { i ++;

continue;

}

try{ node.output.writeObject(\聊天信息\ node.output.flush();

node.output.writeObject(msg); node.output.flush(); }

catch (Exception e){ //System.out.println(e); }

i++;

}

}

/*

* 向所有人发送用户的列表 */

public void sendUserList(){ String userlist = \

int count = userLinkList.getCount(); int i = 0;

while(i < count){

Node node = userLinkList.findUser(i);

第 16 页 共 18 页

课 程 设 计 报 告 书 专 用 纸

}

}

}

i = 0;

while(i < count){ Node node = userLinkList.findUser(i); }

if(node == null) {

i ++; continue; } try{

node.output.writeObject(\用户列表\node.output.flush();

node.output.writeObject(userlist); node.output.flush(); if(node == null) {

i ++;

continue; }

userlist += node.username; userlist += '\\n'; i++;

}

catch (Exception e){

//System.out.println(e); } i++;

(4)PortConf.java:该类继承自JDialog,是用户对服务器端侦听端口进行修改配置的类。

import java.awt.*;

import javax.swing.border.*; import java.net.*; import javax.swing.*; import java.awt.event.*; /**

* 生成端口设置对话框的类

*/

public class PortConf extends JDialog {

JPanel panelPort = new JPanel(); JButton save = new JButton(); JButton cancel = new JButton();

public static JLabel DLGINFO=new JLabel( \默认端口号为:8888\

第 17 页 共 18 页

课 程 设 计 报 告 书 专 用 纸

JPanel panelSave = new JPanel(); JLabel message = new JLabel(); public static JTextField portNumber ; public PortConf(JFrame frame) { }

private void jbInit() throws Exception { this.setSize(new Dimension(300, 120));

this.setTitle(\端口设置\

message.setText(\请输入侦听的端口号:\portNumber = new JTextField(10); portNumber.setText(\save.setText(\保存\cancel.setText(\取消\

panelPort.setLayout(new FlowLayout()); panelPort.add(message); panelPort.add(portNumber);

panelSave.add(new Label(\panelSave.add(save); panelSave.add(cancel);

panelSave.add(new Label(\Container contentPane = getContentPane(); contentPane.setLayout(new BorderLayout()); contentPane.add(panelPort, BorderLayout.NORTH); contentPane.add(DLGINFO, BorderLayout.CENTER); contentPane.add(panelSave, BorderLayout.SOUTH); //保存按钮的事件处理 save.addActionListener( new ActionListener() { super(frame, true); try {

jbInit();

}

catch (Exception e) { e.printStackTrace(); }

//设置运行位置,使对话框居中

Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); this.setLocation( (int) (screenSize.width - 400) / 2 + 50, (int) (screenSize.height - 600) / 2 + 150); this.setResizable(false);

第 18 页 共 18 页

课 程 设 计 报 告 书 专 用 纸

if(savePort<1 || savePort>65535){

PortConf.DLGINFO.setText(\侦听端口必

public void actionPerformed (ActionEvent a) {

int savePort; try{

savePort=Integer.parseInt(PortConf.portNumber.getText());

须是0-65535之间的整数!\

PortConf.portNumber.setText(\ return;

}

ChatServer.port = savePort; dispose();

} catch(NumberFormatException e){

PortConf.DLGINFO.setText(\端口号请填写整数!\

PortConf.portNumber.setText(\ return;

}

}

} );

//关闭对话框时的操作

this.addWindowListener(

new WindowAdapter(){ public void windowClosing(WindowEvent e){ DLGINFO.setText(\为:8888\

}

} );

//取消按钮的事件处理

cancel.addActionListener( new ActionListener(){

public void actionPerformed(ActionEvent e){

DLGINFO.setText(\为:8888\

dispose();

}

});

}

}

错误的端口号,默认端口号默认端口号第 19 页 共 18 页


java课程设计报告-聊天室(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:高效课堂 - 语文教学的必由之路

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: