Java聊天室系统程序设计实验报告 - 图文(8)

2019-03-09 12:56

String message=fromServerMessage.Message; jTextArea1.append(message);

if(fromServerMessage.Command.equals(\ {

vectorUserList.addElement(newUser); jList1.setListData(vectorUserList);

jComboBoxUserlist.addItem(fromServerMessage.UserName); } else {

vectorUserList.removeElement(newUser); jList1.setListData(vectorUserList); jComboBoxUserlist.removeItem(newUser); } }

public void SystemMessage() //接受系统信息 {

JOptionPane.showMessageDialog(null,fromServerMessage.Message,\系统消息\ }

public void Message() //接受聊天信息 {

jTextArea1.append(fromServerMessage.Message); }

public void FileMessage() //文件传输处理 { try {

if(fromServerMessage.Command.equals(\ { int

State=JOptionPane.showOptionDialog(null,fromServerMessage.UserName+\请求发送一个文件给你,可以开始了吗?\提示\ if(State==JOptionPane.YES_OPTION) {

fromServerMessage.Command=\

streamToServer.writeObject(fromServerMessage); streamToServer.flush(); } else {

fromServerMessage.Command=\

streamToServer.writeObject(fromServerMessage); streamToServer.flush(); } }

else if(fromServerMessage.Command.equals(\

第 35 页 共 69 页

35

{

JOptionPane.showMessageDialog(null,\回复消息:对方已准备好,可以开始传送!\

JFileChooser chooser=new JFileChooser(); int State=chooser.showOpenDialog(null); if(State==JFileChooser.APPROVE_OPTION) {

String FileName=chooser.getSelectedFile().getName(); String FileDir=chooser.getCurrentDirectory().toString(); File file = new File(FileDir,FileName);

FileInputStream InputFile = new FileInputStream(file); fromServerMessage.FileData= new byte[(int)file.length()]; InputFile.read(fromServerMessage.FileData); InputFile.close();

fromServerMessage.Command=\ fromServerMessage.FileName=FileName;

streamToServer.writeObject(fromServerMessage); streamToServer.flush();

jButtonTran.setEnabled(false);

JOptionPane.showMessageDialog(null,\回复消息:请稍等!文件传送中 . . .\ }

if(State==JFileChooser.CANCEL_OPTION){} }

else if(fromServerMessage.Command.equals(\ {

JOptionPane.showMessageDialog(null,\回复消息:对不起!对方尚未准备好,请重新申请!\ }

else if(fromServerMessage.Command.equals(\ {;

JFileChooser chooser=new JFileChooser(); int State=chooser.showSaveDialog(null); if(State==JFileChooser.APPROVE_OPTION) {

String suffix; StringTokenizer st = new StringTokenizer(fromServerMessage.FileName,\ suffix=st.nextToken(); suffix=st.nextToken(); String

FileName=chooser.getSelectedFile().getName()+\

String FileDir=chooser.getCurrentDirectory().toString(); File file = new File(FileDir,FileName);

FileOutputStream OutputFile = new FileOutputStream(file); OutputFile.write(fromServerMessage.FileData); OutputFile.close();

fromServerMessage.Command=\

streamToServer.writeObject(fromServerMessage);

第 36 页 共 69 页

36

streamToServer.flush(); }

if(State==JFileChooser.CANCEL_OPTION){} }

else if(fromServerMessage.Command.equals(\ {

JOptionPane.showMessageDialog(null,\回复消息:拷贝成功!谢谢!\

jButtonTran.setEnabled(true); } else

{

JOptionPane.showMessageDialog(null,\回复消息:对不起!拷贝不成功!请重新再试!\

jButtonTran.setEnabled(true); } }

catch(IOException e){} }

class LoginActionListener implements ActionListener //注册申请事件 {

public void actionPerformed(ActionEvent evt) {

frameEnter.setVisible(false); new register(); } }

class EnterActionListener implements ActionListener //登陆申请事件

{

public void actionPerformed(ActionEvent evt) {

Object obj = evt.getSource();

toServerMessage.UserName=String.valueOf(ComboBoxUserName.getSelectedItem());

toServerMessage.UserPassword=String.valueOf(textUserPassword.getPassword()); int lengthName=toServerMessage.UserName.length();

int lengthPassword=toServerMessage.UserPassword.length(); try {

Detect(lengthName,lengthPassword); toServerMessage.Command=\

streamToServer.writeObject((User)toServerMessage); streamToServer.flush(); }

catch (IllegalLengthException e1) {

JOptionPane.showMessageDialog(null,\错误:用户名或密码

第 37 页 共 69 页

37

长度不合法!\

ComboBoxUserName.setSelectedItem(\ textUserPassword.setText(\ }

catch(IOException e1)

{System.out.println(\ } }

class ExitActionListener implements ActionListener //注销事件 {

public void actionPerformed(ActionEvent evt) { try {

streamToServer.close(); streamFromServer.close(); fromServer.close(); toServer.close(); System.exit(0); }

catch(IOException e){} } }

class register extends JFrame implements ActionListener //注册向导窗口类

{

private JButton buttonNext1,buttonExit1;

private JButton buttonPrevious2,buttonNext2,buttonExit2; private JButton buttonPrevious3,buttonSubmit,buttonExit3; private JLabel label1,label2,label3;

private JPasswordField PasswordField1,PasswordField2; private JTextField textUserName,textEmail,textAge; private JComboBox comboBoxHeadPhoto;

private Panel register1,register2,register3; private CardLayout cardLayout;

register() {

initComponents(); //调用组件初始化函数 }

private void initComponents() //组件初始化 {

frameLogin = new Frame (\注册向导\ cardLayout = new CardLayout(); frameLogin.setLayout(cardLayout);

register1 = new Panel(); register2 = new Panel(); register3 = new Panel();

第 38 页 共 69 页

38

frameLogin.addWindowListener(new java.awt.event.WindowAdapter() {

public void windowClosing(java.awt.event.WindowEvent evt)

{

exitForm(evt); } });

register1.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());

buttonExit1=new JButton(\取 消\

buttonExit1.setForeground(new Color(255, 255, 255)); buttonExit1.setFont(new Font(\幼圆\ buttonExit1.setBackground(new Color(255, 204, 0)); buttonExit1.addActionListener(this);

register1.add(buttonExit1, new org.netbeans.lib.awtextra.AbsoluteConstraints(280, 250, -1, -1));

buttonNext1=new JButton(\下一步\

buttonNext1.setForeground(new Color(255, 255, 255)); buttonNext1.setFont(new Font(\幼圆\

buttonNext1.setBackground(new Color(255, 204, 0)); buttonNext1.addActionListener(this);

register1.add(buttonNext1, new org.netbeans.lib.awtextra.AbsoluteConstraints(180, 250, -1, -1));

textUserName=new JTextField(10);

textUserName.setForeground(new java.awt.Color(51, 153, 255));

textUserName.setFont(new java.awt.Font(\幼圆\ textUserName.setBorder(null); textUserName.setOpaque(false); register1.add(textUserName, new org.netbeans.lib.awtextra.AbsoluteConstraints(132, 153, 193, 30));

label1=new JLabel(new ImageIcon(\ register1.add(label1, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, -1, -1));

label1.setForeground(new Color(51, 153, 255)); label1.setFont(new Font(\幼圆\ label1.setBorder(null); // register1.add(label1, new org.netbeans.lib.awtextra.AbsoluteConstraints(132, 153, 193, 30));

第 39 页 共 69 页

39


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

下一篇:全国2008年1月自学考试光纤通信原理试卷参考答案

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

马上注册会员

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