搜档网
当前位置:搜档网 › JAVA程序设计大作业

JAVA程序设计大作业

JA V A 程序设计大作业

学号:2011301500121 学生所在班级:计科7 学生姓名:张亮 2013年6月12日 1.题目与目的:设计一个电话簿,方便与人联系

2.系统结构: 用户登录

电话簿页面

添 修 删

加 改 除 联 联 联 系 系 系 人 人 人

保存

信息都写入数据库

程序流图

3.系统功能:记录联系人的联系方式,并且能方便的查找,增加和删除,提高通讯管理效率

4.系统数据库:

(1)数据库概念结构设计:采用自下而上的设计方法。先自顶向下地进行需求分析,对在线电话簿的需求进行逐步细化;然后再自底而上地设计概念结构,最终将各个局部应用的概念结构集合成为全局概念图。如此可以得到以下在线电话簿系统E-R 图 家庭电话 个人移动电话 办公电话 用户名

m 1 家庭地址 姓名 用户

办公地址 QQ 号 备注 密码

系统E-R 图

(2)数据库逻辑结构设计:将上E-R 图转化为如下的关系模型,其中下划线为主码:

修改联系人 删除联系人 添加联系人 登陆

联系人(姓名,家庭电话,个人移动电话,办公电话,家庭地址,办公地址,QQ号,备注)用户(用户名,密码)

对上面的关系模型进行优化设计,该系统模型属于3NF

(3)数据库物理结构设计:[1]用户数据表

列名数据类型长度是否为空

name nvarchar 50 否

passWord nvarchar 50 否

[2]记录信息数据表

列名数据类型长度是否为空

name nvarchar 50 否

Integer homePhone nvarchar 50 是

Integer

nvarchar 50 否personalMobilePhone

Integer officePhone nvarchar 50 是

homeAddress nvarchar 50 是

officeAddress nvarchar 50 是

qqNumber nvarchar 50 是

notes nvarchar 50 是

5.界面及部分代码:(1)登陆界面:在登陆界面中,用户可以输入正确的用户名,密码,从而进入电话簿。只有登陆成功才可以浏览电话簿的信息,以及添加新的联系人,修改联系人等操作。主要代码如下:

Private void okButtonActionPerformed (java.awt.event.ActionEvent evt){//TODO add your handling code here:

IStudentDao dao=new StudentDao();

IUserDao userDao= new UserDao();

String name=nameField.getText().trim();

String password =String.valueof(passwordField.getPassword());

IUser user=new User(name,password);

Boolean result =false;

Try{

result =userDao.isContain(user);

If(result==false)

{JOptionPane.showConfirmDialog(null,”账号或密码错误!”,”登录提示”,JOptionPane.CLOSED_OPTION);

passwordField.setText(null);

}

Else{

MainWindow mainWindow=new MainWindow(dao);

mainWindow.setVisible(true);

this.setVisible(true);

}

}catch(Exception e){

JOptionPane.showMessageDialog(this,e.getMessage(),”登录失败!”,JoptionPane.ERROR_MESSAGE);

}

}

(2)修改联系人界面:用户可以根据需要修改的信息,修改完毕后,点击决定按钮,修改后的信息将存入数据库。主要代码如下:

Public modifyStudeng(java.awt.Frane parent,boolean model,

IStudentDao,IStudent oldStudent){

Super(parent,model);

initComponents();

setLocatiaoRelativeTo(parent);

setResizable(false);

This.dao=dao;

this.oldStudent=oldStudent;

nameTextField.setText(oldStudent.getTellName());

Integer homePhone.setText(String.value0f(oldStudent.getInteger homePhone()));

IntegerpersonalMobilePhone.setText(String.value0f(oldStudent.getInteger

personalMobilePhone());

Integer officePhone.setText(String.value0f(oldStudent.getInteger officePhone()));

homeAddress.setText(String.value0f(oldStudent.gethomeAddress()));

officefAddress.setText(String.value0f(oldStudent.getofficefAddress()));

qqNumber.setText(String.value0f(oldStudent.getqqNumber()));

notes.setText(String.value0f(oldStudent.getnotes()));

setVisable(true);

}

Private void okButtonActionPerformed(java.awt.event.ActionEvent evt){

String name=nameTextField.getText().trim();

String integer home=integer homePhone.getText().trim();

String integer personalMobile=integer personalMobilePhone.getText().trim();

String integer office=integer officePhone.getText().trim();

String home=homeAddress.getText().trim();

String office=officeAddress.getText().trim();

String qq=qqNumber.getText().trim();

String notes=notes.getText().trim();

Setvisible(false);

}

(3)删除联系人界面:用户可以根据自己的需求删除电话簿中无用的信息。选中要删除的行,点击删除按钮,单击确定,根据提示信息确定删除,即可删除信息。主要代码如下:

@SuppressWarnings(”static-access”)

Private void deleteButtonActionPerformed(java.awt.event.ActionEvent evt){ //收集选中的对象信息

Int index=table.getSelectedRow();

String name=(String)model.getValueAt(index,0);

String integer homePhone=(String)model.getValueAt(index,1);

String integer personalMobilePhone=(String)model.getValueAt(index,2);

String integer officePhone=(String)model.getValueAt(index,3);

String homeAddress=(String)model.getValueAt(index,4);

String officeAddress=(String)model.getValueAt(index,5);

String qqNumber=(String)model.getValueAt(index,6);

String notes=(String)model.getValueAt(index,7);

IStudent oldStudent=new Student(name,integer homePhone,integer personalMobilePhone,integer officePhone,homeAddress,officeAddress,qqNumber,notes);

J0ptionPane panel=new J0ptionPane();

Int result=panel.showConfirmDialog(null,”确定要删除”+”【”+name+”】”+”的全部信息吗”,”删除记录”,J0ptionPane.YES_NO_OPTION);{

Dao.delete(oldStudent);

updateView();

}

}

(4)添加联系人界面:单击添加按钮,在弹出的添加对话框中输入对应的信息。姓名后输入联系人姓名,联系方式可根据需要填写。主要代码如下:

Private void okButtonActionPerformed(java.awt.event.ActionEvent evt){

Try{

//获取用信息

String name=nameTextField.getText().trim();

String integer homePhone=ginteger homePhone.etText().trim();

String integer personalMobilePhone=integer personalMobilePhone.getText().trim();

String integer officePhone=integer officePhone.getText().trim();

String homeAddress=homeAddress.getText().trim();

String officeAddress=officeAddress.getText().trim();

String qqNumbe=qqNumbe.getText().trim();

String notes=notes.getText().trim();

IStudent student=new Student(name,integer homePhone,integer personalMobilePhone,integer officePhone,homeAddress,officeAddress,qqNumber,notes);

Dao.insert(student);

setVisible(false);

}catch(Exception e){

J0ptionPane.showMessageDialog(this,e.getMessage());

}

}

相关主题