Java大作业同学通信录管理系统.docx

上传人:b****2 文档编号:12885141 上传时间:2023-04-22 格式:DOCX 页数:34 大小:457.23KB
下载 相关 举报
Java大作业同学通信录管理系统.docx_第1页
第1页 / 共34页
Java大作业同学通信录管理系统.docx_第2页
第2页 / 共34页
Java大作业同学通信录管理系统.docx_第3页
第3页 / 共34页
Java大作业同学通信录管理系统.docx_第4页
第4页 / 共34页
Java大作业同学通信录管理系统.docx_第5页
第5页 / 共34页
点击查看更多>>
下载资源
资源描述

Java大作业同学通信录管理系统.docx

《Java大作业同学通信录管理系统.docx》由会员分享,可在线阅读,更多相关《Java大作业同学通信录管理系统.docx(34页珍藏版)》请在冰豆网上搜索。

Java大作业同学通信录管理系统.docx

Java大作业同学通信录管理系统

Java程序设计

学生通讯录系统设计

计算机Z1111班:

张志虎、葛志强

2013/12/21

同学通信录管理系统

一、功能要求:

1、信息录入,包括记录的追加和插入;

2、信息删除;

 3、信息修改;

 4、信息排序和查询;

5、信息的保存和装载;

 6、简单的帮助。

系统开发目录:

图2-1:

系统开发目录

二、用例图

图2-1:

系统用例图

三、类图

图3-1:

系统类图书

四、截图及核心代码

1、登录模块

功能介绍:

实现用户的登陆,还包含注册账号和找回密码两个功能。

同时可以实现记住密码、自动登陆。

界面展示:

图4-1 系统登录

核心代码:

try{

Stringname=cobUserName.getSelectedItem().toString();//获取用户输入的用户名

  //输入用户名是否为空

if(name.equals("")){

JOptionPane.showMessageDialog(

    null,

    "用户名不能为空!

",

  "登录失败",

 JOptionPane.INFORMATION_MESSAGE

  );

 }

Stringpassword=newString(txtPassword.getPassword()).trim();//获取用户输入的密码

  //输入密码是否为空

 if(password.equals("")){

JOptionPane.showMessageDialog(

 null,

     "密码不能为空!

",

   "登录失败",

  JOptionPane.INFORMATION_MESSAGE

  );

   return;

 }

 boolean isMemoryPWD= chbMemoryPWD.isSelected();

   booleanisAutoLogon=chbAutoLogon.isSelected();

 //System.out.println(isMemoryPWD);

 Useruser =new User(name,password);

 if(user.userLogon()){//用户是否存在

  UserPropertyuserp=new UserProperty(user,isMemoryPWD,isAutoLogon);

 ReadWriteProperties.writeProperties(userp);

dispose();

    MainFramemainframe=newMainFrame(user);//启动主操作界面

    mainframe.setVisible(true);

 }else{

 //提示失败信息

  JOptionPane.showMessageDialog(

     null,

   "用户名或密码输入有误!

",

    "登录成功",

   JOptionPane.INFORMATION_MESSAGE

 );

  }

    cobUserName.setFocusable(true);//输入用户名的控件获得焦点

 txtPassword.setText(null);//输入密码的控件为空

  }catch(Exception e){}

 }

●登录界面--账号注册

功能介绍:

注册用户

界面展示:

图4-2 系统用户注册

核心代码:

publicvoiduserRegist(){

  Stringusername=txtUserName.getText().trim();

  Stringpassword=newString(txtpassword.getPassword()).trim();

 Stringpasswordok=newString(txtPasswordOk.getPassword());

String id=txtId.getText().trim();

  //用户名不能为空

if(username.isEmpty()){

 //提示信息

 JOptionPane.showMessageDialog(

  null,

  "用户名不能为空!

",

    "用户注册",

       JOptionPane.INFORMATION_MESSAGE

     );

return ;

 }

 //用户名为5~18

  if(username.length()<5||username.length()>18){

 //提示信息

   JOptionPane.showMessageDialog(

     null,

  "用户名长度应在5~18之间!

",

      "用户注册",

   JOptionPane.INFORMATION_MESSAGE

   );

  return;

 }

  Useruser=newUser(username,password,id);

  try {

   if(user.userRegist()){

 //提示失败信息

    JOptionPane.showMessageDialog(

  null,

    "注册成功!

",

 "注册成功",

  JOptionPane.INFORMATION_MESSAGE

       );

 dispose();

    @SuppressWarnings("unused")

LogonFramelogon=newLogonFrame();   

}else{

    //提示失败信息

  JOptionPane.showMessageDialog(

  null,

 "此注册用户已存在!

",

    "注册失败!

",

  JOptionPane.INFORMATION_MESSAGE

    );

     txtUserName.setFocusable(true);

 }

  }catch(FileNotFoundExceptione){

 //TODOAuto-generatedcatchblock

 e.printStackTrace();

}

●登录界面—找回密码

功能介绍:

用户忘记密码,可以通过验证用户名和身份证号找回密码

界面展示:

图4-3系统找回密码

核心代码:

publicvoiduserfindPwd(){

String username=txtUserName.getText().trim();

 Stringid=txtId.getText().trim();

//用户名不能为空

 if(username.isEmpty()){

   //提示信息

 JOptionPane.showMessageDialog(

   null,

    "用户名不能为空!

",

   "用户注册",

   JOptionPane.INFORMATION_MESSAGE

   );

  return;

 //用户名为5~18

  if(username.length()<5||username.length()>18){

  //提示信息

   JOptionPane.showMessageDialog(

    null,

   "用户名长度应在5~18之间!

",

    "用户注册",

 JOptionPane.INFORMATION_MESSAGE

   );

 return;

  }

  //身份证号不能为空

 //身份证号不是18位时

 //验证身份证号

Useruser=newUser();

user.setUsername(username);

user.setId(id);

  try{

 Useruserr=user.userFindPwd();

if(userr==null){

   JOptionPane.showMessageDialog(

    null,

      "用户名或身份证号有误!

",

  "找回密码失败",

     JOptionPane.INFORMATION_MESSAGE

 );

  }else{

   JOptionPane.showMessageDialog(

 null,

  "用户名:

"+userr.getUsername()+"\r\n密码:

"+newString(userr.getPassword()).trim(),

 "找回密码成功",

    JOptionPane.INFORMATION_MESSAGE

      );

   }

  }catch (FileNotFoundExceptione){

  // TODO Auto-generatedcatch block

 e.printStackTrace();

 }

2、系统主界面

功能介绍:

包含系统管理、文件管理、操作管理、其他4个功能模块,具体模块功能后面详细介绍

主界面展示:

图4-4系统主操作界面

核心代码:

  //显示关于对话框

     JMenuItemmntmAbout= new JMenuItem("\u7CFB\u7EDF\u5173\u4E8E");

  mnOther.add(mntmAbout);

   JMenuItemmntmHelp=newJMenuItem("\u5E2E\u52A9");

   mntmHelp.addActionListener(newActionListener(){

 publicvoidactionPerformed(ActionEvente){

    if(!

helpFlag){

    panelHelp.setVisible(true);

    Stringstr="系统名称:

\r\n";

   txtHelpInfor.setText(str);

       helpFlag=true;

}else{

     panelHelp.setVisible(false);

         helpFlag=false;

 }

  }

 })

2.1.1、系统管理—修改密码

功能介绍:

更改用户密码

界面展示:

图4-5系统更改密码

核心代码:

publicvoid updatepwd(){

 String oldpassword=newString(txtOldPassword.getPassword()).trim();

Stringnewpassword=new String(txtNewPassword.getPassword()).trim();

Stringpasswordok=newString(txtPasswordOk.getPassword()).trim();

 //旧密码不能为空

 if(oldpassword.isEmpty()){

    //提示信息

 JOptionPane.showMessageDialog(

   null,

       "旧密码不能为空!

",

   "用户更改密码",

      JOptionPane.INFORMATION_MESSAGE

  );

 return;

  }

  //新密码不能为空

//密码为6~15

 //确认密码不能为空

 //两次密码不一致

 //是否更改密码成功

 try{

if(!

user.userUpdatePwd(newpassword)){

  //失败

   JOptionPane.showMessageDialog(

  null,

   "原密码输入有误!

",

  "密码更改失败",

  JOptionPane.INFORMATION_MESSAGE

  );

  }else{//成功

  JOptionPane.showMessageDialog(

  null,

  "密码更改成功",

       "密码更改成功",

   JOptionPane.INFORMATION_MESSAGE

    );

   }

  }catch(FileNotFoundExceptione) {

  //TODOAuto-generatedcatch block

e.printStackTrace();

 }

 }

2.1.2、系统管理—注销账号

功能介绍:

退回到登陆界面

界面:

图4-6系统管理-注销账号

核心代码:

mntmLogoff.addActionListener(newActionListener(){

publicvoid actionPerformed(ActionEventarg0){

 dispose();

   LogonFrameframe= newLogonFrame();

  }

  });

2.1.3、系统管理—退出系统

功能介绍:

退出系统

图4-7 系统管理-退出系统

 

核心代码:

mntmExit.addActionListener(newActionListener() {

     public void actionPerformed(ActionEvent arg0){

 System.exit(0);

   }

});

2.2.1、文件管理—导入文件

功能介绍:

导入类型是.TXT类型的通讯记录到通讯系统中

界面展示:

图4-8文件管理-导入文件

核心代码:

okButton.addActionListener(newActionListener(){

  publicvoidactionPerformed(ActionEvente){

   if(v==null){

  JOptionPane.showMessageDialog(

   null,

    "导入失败,请选择文件进行导入",

    "导入数据",

          JOptionPane.INFORMATION_MESSAGE

    );

       return;

   }else{

   UseFile.writeFile(fname, v);

  JOptionPane.showMessageDialog(

        null,

     "数据导入成功",

    "导入数据",

       JOptionPane.INFORMATION_MESSAGE

   );

  return;

    }    

   }

});

btnSelectFile.addActionListener(newActionListener() {

publicvoidactionPerformed(ActionEvente){

    JFileChooserchooser =new JFileChooser();

 FileNameExtensionFilterfilter=newFileNameExtensionFilter("*.txt","txt");

 chooser.setFileFilter(filter);

  intreturnVal=chooser.showOpenDialog(getParent());

  Stringfilename=null;

    if(returnVal== JFileChooser.APPROVE_OPTION){

  filename= chooser.getSelectedFile().toString();

  txtFilePath.setText(filename);//在文本框中显示文件路径

  if(!

filename.substring(filename.indexOf(".")+1,filename.length()).equals("txt")){

 JOptionPane.showMessageDialog(

  null,

  "文件类型必需为*.xls|*.txt",

      "文件选择失败",

   JOptionPane.INFORMATION_MESSAGE

     );

    txtFilePath.setText("");

 return;

   }

   }

   }

});

2.2.1、文件管理—导出文件

功能介绍:

将在同学通讯录系统中生成的文件以.TXT文件形式导出

界面展示:

图4-9文件管理-导出文件

核心代码:

  mntmSava.addActionListener(newActionListener() {

    public void actionPerformed(ActionEvente){

   JFileChooserchooser= newJFileChooser();

  FileNameExtensionFilterfilter= newFileNameExtensionFilter("*.txt","txt");

  chooser.setFileFilter(filter);

 chooser.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);//选择目录和文件

 intreturnVal=chooser.showSaveDialog(getParent());

 if(returnVal ==JFileChooser.APPROVE_OPTION) {

   Stringfilename=chooser.getSelectedFile().toString();//获取路径

 Vector

     UseFile.readFile(fname, cVector);   

  if(filename.indexOf('.')<=0){

  filename+=".txt";

 }

  if(!

filename.substring(filename.indexOf(".")+1,filename.length()).equals("txt")){

     JOptionPane.showMessageDialog(

      null,

   "文件类型必需为*.txt",

   "导出",

   JOptionPane.INFORMATION_MESSAGE

      );

   return;

    }

    UseFile.write(filename, cVector);

 } 

  }

  });

2.3.1、操作管理—增加通信记录

功能介绍:

增加新的同学信息,包括姓名、性别、电话、QQ号、邮箱、备注等

界面展示:

图4-10操作管理-添加通信记录

核心代码:

public voidappend(){

 booleanflag=true;

  String name=txtName.getText();

 boolean sex=Boolean.parseBoolean(rdbtnMale.isSelected()?

"true":

"false");

 intage=this.sldAge.getValue();

Stringintegrity=this.cobIntegrity.getSelectedItem().toString();

 String tel=txtTel.getText();

 String qq=txtQQ.getText();

  String email=txtEmail.getText();

Stringmemo=txtMemo.getText();

if(name.isEmpty()){

  JOptionPane.showMessageDialog(

      null,

  "姓名不能为空!

",

   "增加通信信息",

   JOptionPane.INFORMATION_MESSAGE

  );

return;

}else{//否,添加新行后,加入新数据。

  ((javax.swing.table.DefaultTableModel) table.getModel()).insertRow(countRows,

   new Object[]{name,

     sex,

    age,

       integrity,

    tel,

      qq,

     email,

     memo});

  }

 row++; table.repaint();//刷新表格数据

 Classmateclassmate=newClassmate(user.getUsername(),name,sex,age,integrity,tel,qq,email,memo);

 cVector.add(classmate);

UseFile.writeFile(fname,cVector);

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1