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

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

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

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

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;

}

booleanisMemoryPWD=chbMemoryPWD.isSelected();

booleanisAutoLogon=chbAutoLogon.isSelected();

//System.out.println(isMemoryPWD);

Useruser=newUser(name,password);

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

UserPropertyuserp=newUserProperty(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(Exceptione){}

}

●登录界面--账号注册

功能介绍:

注册用户

界面展示:

图4-2系统用户注册

核心代码:

publicvoiduserRegist(){

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

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

Stringpasswordok=newString(txtPasswordOk.getPassword());

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;

}

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(){

Stringusername=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){

//TODOAuto-generatedcatchblock

e.printStackTrace();

}

2、系统主界面

功能介绍:

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

主界面展示:

图4-4系统主操作界面

核心代码:

//显示关于对话框

JMenuItemmntmAbout=newJMenuItem("\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系统更改密码

核心代码:

publicvoidupdatepwd(){

Stringoldpassword=newString(txtOldPassword.getPassword()).trim();

Stringnewpassword=newString(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-generatedcatchblock

e.printStackTrace();

}

}

2.1.2、系统管理—注销账号

功能介绍:

退回到登陆界面

界面:

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

核心代码:

mntmLogoff.addActionListener(newActionListener(){

publicvoidactionPerformed(ActionEventarg0){

dispose();

LogonFrameframe=newLogonFrame();

}

});

2.1.3、系统管理—退出系统

功能介绍:

退出系统

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

 

核心代码:

mntmExit.addActionListener(newActionListener(){

publicvoidactionPerformed(ActionEventarg0){

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=newJFileChooser();

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(){

publicvoidactionPerformed(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();//获取路径

VectorcVector=newVector();

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操作管理-添加通信记录

核心代码:

publicvoidappend(){

booleanflag=true;

Stringname=txtName.getText();

booleansex=Boolean.parseBoolean(rdbtnMale.isSelected()?

"true":

"false");

intage=this.sldAge.getValue();

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

Stringtel=txtTel.getText();

Stringqq=txtQQ.getText();

Stringemail=txtEmail.getText();

Stringmemo=txtMemo.getText();

if(name.isEmpty()){

JOptionPane.showMessageDialog(

null,

"姓名不能为空!

",

"增加通信信息",

JOptionPane.INFORMATION_MESSAGE

);

return;

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

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

newObject[]{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);

JOptionPane.showMessageDialog(

null,

"添加成功!

",

"增加通信信息",

JOptionPane.INFORMATION_MESSAGE

);

txtName.setText("");

txtTel.setText("");

txtQQ.setText("");

}

2.3.2、操作管理—删除通信记录

功能介绍:

通过姓名检索,找出要删除者的全部信息,选择删除或全部删除

界面展示:

图4-10操作管理-删除通信记录

核心代码:

//检索操作

publicvoidSelect(){

try{

if(cVector.size()<=0){

JOptionPane.showMessageDialog(

null,

"没有检索到任何记录!

",

"删除通信信息",

JOptionPane.INFORMATION_MESSAGE

);return;

}

Stringname;

name=txtName.getText();

if(name.isEmpty()){

tableLoadData();//显示全部通信记录

btnAllDel.setEnabled(true);

btnDelete.setEnabled(true);

DeleteFalg=true;

}else{

SelectByName(name);//姓名检索出要删除的通信记录

btnDelete.setEnabled(true);

DeleteFalg=false;

}

}catch(Exceptione){}

}

2.3.3、操作管理—更新通信记录

功能介绍:

通过姓名检索出要更新的全部信息,然后通过更新相应信息重新设置被检索出来人的信息

界面展示:

图4-11操作管理-更新通信记录

核心代码:

publicvoidUpdate(){

booleanflag=true;

Stringname=txtName.getText();

booleansex=Boolean.parseBoolean(rbtnMale.isSelected()?

"true":

"false");

intage=this.sldAge.getValue();

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

Stringtel=txtTel.getText();

Stringqq=txtQQ.getText();

Stringemail=txtE

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

当前位置:首页 > 小学教育 > 英语

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

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