java课设个人备忘录管理系统.docx

上传人:b****6 文档编号:4059542 上传时间:2022-11-27 格式:DOCX 页数:26 大小:1.18MB
下载 相关 举报
java课设个人备忘录管理系统.docx_第1页
第1页 / 共26页
java课设个人备忘录管理系统.docx_第2页
第2页 / 共26页
java课设个人备忘录管理系统.docx_第3页
第3页 / 共26页
java课设个人备忘录管理系统.docx_第4页
第4页 / 共26页
java课设个人备忘录管理系统.docx_第5页
第5页 / 共26页
点击查看更多>>
下载资源
资源描述

java课设个人备忘录管理系统.docx

《java课设个人备忘录管理系统.docx》由会员分享,可在线阅读,更多相关《java课设个人备忘录管理系统.docx(26页珍藏版)》请在冰豆网上搜索。

java课设个人备忘录管理系统.docx

java课设个人备忘录管理系统

面向对象的程序设计(Java)

课程设计报告

 

题目:

个人备忘录管理系统

 

专业

班级

姓名

学号

指导教师

完成日期

2010年春季学期

 

《面向对象程序设计(Java)》课程设计成绩评定

经考核,给出如下评语:

并综合评定该生课程设计成绩为。

指导教师:

年月日

 

一、系统需求分析

在现代信息社会里,人们越来越重视信息的交流和沟通,更加注重时间的有效利用,其中个人信息量也在告诉增长,因此个人信息的管理在日常工作和生活中成为一项必不可少的内容,方便实用的个人备忘录管理系统对于提高信息利用效率具有重要意义。

随着个人电脑的普及,简单实用的个人备忘录管理系统成为人们日常个人信息管理的不错选择。

二、系统实现目标

个人备忘录管理系统是能够运行在普通个人电脑上,为使用者提供日常信息管理功能的工具软件,使用者可以通过个人备忘录管理系统对日常工作/生活琐事和电话本等方面进行更有效的管理,主要是为使用者提供对个人信息更方便的记录和查询功能,为使用者在个人信息管理上带来更多的便利。

个人备忘录管理系统的总体目标是为使用者管理日益繁杂的个人日常信息提供一个方便有效的管理平台,提高日常生活和工作效率。

具体实现以下基本功能:

(1)权限验证:

检验用户合法身份,保障个人信息安全。

(2)口令维护:

用户可以定期或不定期的更改登录口令,提供系统的安全性。

(3)日常记事:

记录日常生活或者工作事件,以免遗忘,并提供记录的查询,添加和删除等管理功能。

(4)电话本:

记录朋友,亲戚,同事和陌生人等联系人的通信功能,以免遗忘。

并提供记录的查询,添加和删除等管理功能。

三、相关技术

本次系统采用结构化的设计方法进行设计,是设计成一个相对封闭的单机运行系统,作为大众化的应用软件,其用户界面是决定软件质量的首要条件。

所以,界面设计是开发与设计的重点。

充分贯彻简单易用、美观大方的基本原则,采用快速开发平台netbeans进行开发,并结合access数据库完成数据的导入。

NetBeans平台是一种可重复使用的框架用于简化其他桌面应用程式的开发。

当基于NetBeans平台的应用被执行,平台主要类别的main方法便会被执行。

可用的模组会被放置在存储器中,并且开始执行任务。

通常模组会只在被需要时,其代码才会被装进记忆。

应用程式能动态安装模组。

任何应用程式能包括更新模组,允许用户申请下载的应用程式升级和加入新功能。

这样安装,升级以及新发并行不必迫使用户每次再下载整个应用程式。

整个Netbeans平台提供对桌面应用程式常用的服务,允许开发者集中于仅限于他的应用程式的逻辑设计。

Access管理的对象有表、查询、窗体、报表、页、宏和模块,以上对象都存放在后缀为(.mdb)的数据库文件种,便于用户的操作和管理。

Access是一个面向对象的开发工具,利用面向对象的方式将数据库系统中的各种功能对象化,将数据库管理的各种功能封装在各类对象中。

 Access是一个可视化工具,是风格与Windows完全一样,用户想要生成对象并应用,只要使用鼠标进行拖放即可,非常直观方便。

系统还提供了表生成器、查询生成器、报表设计器以及数据库向导、表向导、查询向导、窗体向导、报表向导等工具,使得操作简便,容易使用和掌握。

 Access基于Windows操作系统下的集成开发环境,该环境集成了各种向导和生成器工具,极大地提高了开发人员的工作效率,使得建立数据库、创建表、设计用户界面、设计数据查询、报表打印等可以方便有序地进行。

Access支持ODBC(开发数据库互连,OpenDataBaseConnectivity),利用Access强大的DDE(动态数据交换)和OLE(对象的联接和嵌入)特性,可以在一个数据表中嵌入位图、声音、Excel表格、Word文档,还可以建立动态的数据库报表和窗体等。

四、系统设计

依据需求分析,个人备忘录管理系统可以分为三个模块:

日常记事模块、电话本模块和系统维护模块。

系统模块结构如图

(1)所示。

(1):

系统模块结构图

系统主控平台登录界面设计:

系统主界面使用简单和直观的布局设计,通过用户名和密码登录功能模块界面。

具体设计效果如图

(2)所示:

(2)系统主控平台登录界面设计效果图

日常记事模块:

该模块提供对个人日常生活、工作等事件的备忘功能,主要是提供对日常事件信息的录入、删除和查询功能。

其中,记录的信息主要包括事件的日期、事件类别、事件标题和事件内容等。

日常记事管理模块的模块功能树如图

(2)

所示。

图(3):

日常记事管理模块功能树图

具体设计效果如图所示:

图(4)日常记事管理模块界面设计效果图

电话本模块:

该模块提供对联系人通信信息的管理功能,主要是提供对各类通信信息的录入、查询、删除功能。

电话本管理模块的模块功能树如图(3)所示。

图(5):

电话本模块功能树图

具体设计效果如图所示:

图(6)电话本管理模块界面设计效果图

系统维护模块:

该模块提供用户帮助、用户权限验证和口令维护功能。

其中用户帮助主要是对于初次使用次系统的用户提供帮助;权限验证主要是通过检查用户输入口令来判断用户是否拥有登录系统的权限;口令维护提供修改用户登录口令功能。

系统维护模块功能树如图(4)所示。

图(7)系统维护模块功能树

用户如果初次使用这个管理系统可以通过点击帮助按钮,就会得到相应的提示,如下图(8):

图(8)用户私用帮助界面设计效果图

 

口令维护界面具体设计效果如图(9)所示:

图(9)口令维护界面具体设计效果

五、系统实现

数据库设计:

根据系统功能设计的要求以及功能模块的划分,对于本系统的数据库,可以列出以下数据项和数据结构。

(1)名称:

用户表(见表(10))

表名称标识:

user

数据来源:

口令维护功能录入。

表(10)

(2)名称:

日常记事记录表(见表(11))

表名称标识:

jishi

数据来源:

日常记事模块录入。

表(11)

(3)电话本记录表(见表(12))

表名称标识:

dianhuaben

数据来源:

电话本模块录入。

表(12)

主要功能的实现:

(1)登录界面用户帮助按钮的实现:

privatevoidjButton18ActionPerformed(java.awt.event.ActionEventevt){

this.jDialog1.setVisible(true);

}

(2)登录界面用户登录按钮的实现:

privatevoidjButton16ActionPerformed(java.awt.event.ActionEventevt){

inti=0;

if(!

jTextField14.getText().equals("")){

i++;

}

Stringa=jTextField14.getText();

if(i==0){

JOptionPane.showMessageDialog(null,"用户名不能为空!

");

}

if(i==1){

try{

Stringurl="jdbc:

odbc:

Driver={MicrosoftAccessDriver(*.mdb)};DBQ=beiwang.mdb";

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

Connectionconn=DriverManager.getConnection(url,"","");

Statementstmt=conn.createStatement();

ResultSetrs=stmt.executeQuery("selectusernamefromuser");

while(rs.next()){

if(rs.getString

(1).equals(a)){

i++;

break;

}

}

rs=stmt.executeQuery("selectpasswordfromuserwhereusername='"+a+"'");

while(rs.next()){

if(rs.getString

(1).equals(jPasswordField2.getText())){

i++;

break;

}

}

rs.close();

stmt.close();

conn.close();

}catch(Exceptione){

e.printStackTrace();

}

if(i==1){

JOptionPane.showMessageDialog(null,"用户名不存在!

");

jTextField14.setText("");

jPasswordField2.setText("");

}

if(i==2){

JOptionPane.showMessageDialog(null,"密码错误!

");

jPasswordField2.setText("");

}

if(i==3){

this.jPanel10.setVisible(true);

this.jDialog1.setVisible(false);

this.jPanel11.setVisible(false);

}

}

}

(3)日常记事模块查询按钮的功能实现:

privatevoidjButton1ActionPerformed(java.awt.event.ActionEventevt){

Stringurl="jdbc:

odbc:

driver={MicrosoftAccessDriver(*.mdb)};DBQ=beiwang.mdb;characterEncoding=GBK";//

Floatsum2=0.0f;

Connectionconn=null;

try{

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

conn=DriverManager.getConnection(url,"","");

Statementstatement=conn.createStatement();

ResultSetbs=statement.executeQuery("select*fromjishiwheredatetime='"+this.jTextField1.getText()+"'");

DefaultTableModeldtm=(DefaultTableModel)this.jTable1.getModel();

for(inti=dtm.getRowCount()-1;i>=0;i--){

dtm.removeRow(i);

}

while(bs.next()){

Stringdata[]=newString[5];

data[0]=String.valueOf(bs.getLong("id"));

data[1]=bs.getString("datetime");

data[2]=bs.getString("sort");

data[3]=bs.getString("title");

data[4]=bs.getString("content");

dtm.addRow(data);

}

conn.close();

}catch(Exceptione){

e.printStackTrace();

}

}

(4)日常记事模块新增按钮的功能实现:

privatevoidjButton3ActionPerformed(java.awt.event.ActionEventevt){

Stringurl="jdbc:

odbc:

driver={MicrosoftAccessDriver(*.mdb)};DBQ=beiwang.mdb;characterEncoding=GBK";

Connectionconn=null;

try{

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

conn=DriverManager.getConnection(url,"","");

Statementstatement=conn.createStatement();

Stringdatetime=this.jTextField2.getText();

Stringsort=this.jTextField4.getText();

Stringtitle=this.jTextField3.getText();

Stringcontent=this.jTextArea1.getText();

if(datetime.equals("")||sort.equals("")||title.equals("")||content.equals("")){

JOptionPane.showMessageDialog(this,"日记信息输入不完整!

");

}else{

StringsqlStr="insertintojishi([datetime],[sort],[title],[content])values('"+datetime+"','"+sort+"','"+title+"','"+content+"')";

if(statement.executeUpdate(sqlStr)>0){

JOptionPane.showMessageDialog(null,"日记添加成功!

");

this.jTextField2.setText("");

this.jTextField4.setText("");

this.jTextField3.setText("");

this.jTextArea1.setText("");

}

}

conn.close();

}catch(Exceptione){

JOptionPane.showMessageDialog(null,"日记添加失败!

");

e.printStackTrace();

}

}

(5)日常记事模块删除按钮的功能实现:

privatevoidjButton4ActionPerformed(java.awt.event.ActionEventevt){

Stringurl="jdbc:

odbc:

driver={MicrosoftAccessDriver(*.mdb)};DBQ=beiwang.mdb;characterEncoding=GBK";

Connectionconn=null;

try{

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

conn=DriverManager.getConnection(url,"","");

Stringdatetime=this.jTextField2.getText();

Statementstatement=conn.createStatement();

ResultSetrs=statement.executeQuery("select*fromjishiwheredatetime='"+datetime+"'");

System.out.println(datetime);

if(datetime.equals("")||!

rs.next())

JOptionPane.showMessageDialog(null,"没有输入日期或日期有误!

");

else{

Stringsort=this.jTextField4.getText();

Stringtitle=this.jTextField3.getText();

Stringcontent=this.jTextArea1.getText();

{

StringsqlStr="deletefromjishiwheredatetime='"+datetime+"'";

statement.executeUpdate(sqlStr);

JOptionPane.showMessageDialog(null,"日记已删除!

");

}

}

conn.close();

}

catch(Exceptione)

{

e.printStackTrace();

}

}

(6)电话本模块查询按钮的功能实现:

privatevoidjButton6ActionPerformed(java.awt.event.ActionEventevt){

Stringurl="jdbc:

odbc:

driver={MicrosoftAccessDriver(*.mdb)};DBQ=beiwang.mdb;characterEncoding=GBK";

intsum1=0;

Floatsum2=0.0f;

Connectionconn=null;

try{

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

conn=DriverManager.getConnection(url,"","");

PreparedStatementps=conn.prepareStatement("select*fromdianhuabenwherexingming=?

");

System.out.println(this.jTextField5.getText());

ps.setString(1,this.jTextField5.getText());

ResultSetrs=ps.executeQuery();

DefaultTableModeldtm=(DefaultTableModel)this.jTable3.getModel();

for(inti=dtm.getRowCount()-1;i>=0;i--){

dtm.removeRow(i);

}

while(rs.next()){

Stringdata[]=newString[7];

data[0]=String.valueOf(rs.getLong("id"));

data[1]=rs.getString("xingming");

data[2]=rs.getString("xingbie");

data[3]=rs.getString("guanxi");

data[4]=rs.getString("zhuzhaidianhua");

System.out.println(data[4]);

data[5]=rs.getString("yidongdianhua");

data[6]=rs.getString("beizhu");

dtm.addRow(data);

}

conn.close();

}catch(Exceptione){

e.printStackTrace();

}

}

(7)电话本模块新增按钮的功能实现:

privatevoidjButton8ActionPerformed(java.awt.event.ActionEventevt){

Stringurl="jdbc:

odbc:

driver={MicrosoftAccessDriver(*.mdb)};DBQ=beiwang.mdb;characterEncoding=GBK";

Connectionconn=null;

try{

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

conn=DriverManager.getConnection(url,"","");

Statementstatement=conn.createStatement();

Stringxingming=this.jTextField6.getText();

Stringxingbie=this.jComboBox3.getSelectedItem().toString();

Stringguanxi=this.jTextField7.getText();

Stringzhuzhaidianhua=this.jTextField8.getText();

Stringyidongdianhua=this.jTextField9.getText();

Stringbeizhu=this.jTextArea2.getText();

if(xingming.equals("")||xingbie.equals("")||guanxi.equals("")||zhuzhaidianhua.equals("")||yidongdianhua.equals("")||beizhu.equals("")){

JOptionPane.showMessageDialog(this,"电话本信息输入不完整!

");

}else{

StringsqlStr="insertintodianhuaben([xingming],[xingbie],[guanxi],[zhuzhaidianhua],[yidongdianhua],[beizhu])values('"+xingming+"','"+xingbie+"','"+guanxi+"','"+zhuzhaidianhua+"','"+yidongdianhua+"','"+beizhu+"')";

if(statement.executeUpdate(sqlStr)>0){

JOptionPane.showMessageDialog(null,"电话本添加成功!

");

this.jTextField6.setText("");

this.jComboBox3.setSelectedItem("

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

当前位置:首页 > 初中教育 > 政史地

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

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