Java大作业同学通信录管理系统.docx
- 文档编号:12885141
- 上传时间:2023-04-22
- 格式:DOCX
- 页数:34
- 大小:457.23KB
Java大作业同学通信录管理系统.docx
《Java大作业同学通信录管理系统.docx》由会员分享,可在线阅读,更多相关《Java大作业同学通信录管理系统.docx(34页珍藏版)》请在冰豆网上搜索。
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);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 作业 同学 通信 管理 系统