java课程设计.docx

上传人:b****9 文档编号:25695799 上传时间:2023-06-11 格式:DOCX 页数:43 大小:266.35KB
下载 相关 举报
java课程设计.docx_第1页
第1页 / 共43页
java课程设计.docx_第2页
第2页 / 共43页
java课程设计.docx_第3页
第3页 / 共43页
java课程设计.docx_第4页
第4页 / 共43页
java课程设计.docx_第5页
第5页 / 共43页
点击查看更多>>
下载资源
资源描述

java课程设计.docx

《java课程设计.docx》由会员分享,可在线阅读,更多相关《java课程设计.docx(43页珍藏版)》请在冰豆网上搜索。

java课程设计.docx

java课程设计

目录

一、概要设计2

二、程序整体设计说明2

2.1数据库概念结构设计2

2.2数据库逻辑结构设计4

2.3数据库结构的实现5

2.4程序中所用类说明8

2.5异常处理说明10

2.6程序尚还存在的问题10

三、程序部分代码及注释11

3.1Application1.java11

3.2AppFrame.java12

3.3LogFrame.java23

四、测试结果26

五、设计心得27

六、致谢28

七、参考文献28

【摘要】该程序是一个数据库应用系统的个人事务管理系统,个人的部分信息已保存在了数据库中。

数据库部分设计到了MySQL的应用,界面部分采用了awt包。

程序中实现了个人重要事务的查询、提醒,重要人际关系的存储、查询,本月的收入、支出情况,现今的资金的持有情况等等。

【关键字】个人事务管理系统

一、概要设计

个人事务管理系统是:

MySQL数据库、图形界面等技术的综合应用。

MySQL数据库部分的实现:

首先要搭建JDBC开发环境(该程序用的是MySQL),以下为简要操作步骤:

(1)要利用JDBC访问数据库,必须首先在机器上安装一个数据库系统,并将数据库的JDBC驱动程序添加到JavaEE应用服务器的Java编译路径之中。

(2)安装MySQL客户端:

NavicatforMySQL或MySQL-Front。

(3)安装MySQL的JDBC驱动程序:

(4)在Eclipse中建立类路径。

图形界面的实现:

考虑到简单、实用、高效等特点,就选择了AWT来完成实现,在Java事件中,多次用到了鼠标事件和菜单事件。

在设计类的时候,考虑到了简单明了,就用了三个类,一个实现与菜单相关的信息的类,另一个则是与登录界面相关的类,该类继承了第一个类,此外,还有一个默认属性类作为程序的整体框架,所有的对象和方法都是在默认属性类中创建和实现的,而在其他两个类中实现了为各个组件注册事件监听的程序。

主类完成了对对象的实例化及显示。

这样的设计优点是:

条理清晰,容易理解,容易修改。

这样设计的缺点是:

不利于共享类中的方法。

二、程序整体设计说明

2.1数据库概念结构设计

该系统采用了E-R图的方法来进行数据库的设计。

相关的E-R图描述如下。

图1为日程安排实体E-R图,图2为个人关系对象的E-R图,图3为实体之间关系的E-R图,图4为资金收入实体E-R图。

 

 

 

 

 

 

 

图1日程事务对象实体E-R图

 

 

图2个人关系对象实体E-R图

图3实体之间关系E-R图

 

图4资金收入实体E-R图

2.2数据库逻辑结构设计

该系统采用是的MySQL数据库管理系统完成的,我采用的是将实体转化为关系表。

相关的表格如下图所示。

表1为日常事务基本信息表schedule。

表1日常事务基本信息表schedule

列名

数据类型

字长

可否为空

说明

T_NO

char

6

NOTNULL

序号(主键)

T_NAME

varchar

50

NOTNULL

日程标题

T_DATA

date

4

NOTNULL

日期

T_TIME

varchar

10

NOTNULL

日程时间

T_LB

varchar

50

NOTNULL

类别

T_WHERE

varchar

50

NOTNULL

日程地点

T_NR

varchar

800

NOTNULL

具体内容

T_BZ

varchar

50

NOTNULL

备注

T_NR

bit

1

NOTNULL

是否取消

表2为个人关系基本信息表customer。

表2个人关系基本信息表

列名

数据类型

字长

可否为空

说明

C_NAME

varchar

50

NOTNULL

姓名(主键)

C_LB

varchar

50

NOTNULL

类别

C_BIRTHDAY

varchar

50

NULL

生日

C_EMAIL

varchar

50

NULL

电子邮箱

C_HOME

varchar

50

NULL

家庭住址

C_CITY

varchar

50

NULL

城市

C_PROVINCE

varchar

50

NULL

省份

C_ZIP

varchar

6

NULL

邮政编码

C_NATION

varchar

50

NULL

国家或地区

C_HTEL

varchar

50

NULL

家庭电话

C_CTEL

varchar

50

NULL

公司电话

C_CALL

varchar

50

NULL

呼机号码

C_MOBILE

varchar

50

NULL

手机号码

C_FILE

varchar

300

NOTNULL

个人资料

C_BZ

varchar

50

NULL

备注

表3为个人收入表salary。

表3个人收入表salary

列名

数据类型

字长

可否为空

说明

I_XUHAO

char

6

NOTNULL

序号(主键)

I_DATE

date

4

NOTNULL

日期

I_COUNT

int

8

NOTNULL

金额

I_SHUOMING

varchar

100

NOTNULL

收入说明

I_BZ

varchar

50

NULL

备注

表4为个人支出表output。

表4个人支出表output

列名

数据类型

字长

可否为空

说明

O_XUHAO

char

6

NOTNULL

序号(主键)

O_DATE

date

4

NOTNULL

日期

O_COUNT

int

8

NOTNULL

金额

O_SHUOMING

varchar

100

NOTNULL

支出说明

O_BZ

varchar

50

NULL

备注

表5为个人资金持有表possess。

表5个人资金持有表possess

列名

数据类型

字长

可否为空

说明

P

int

8

NOTNULL

现有资金量

表6为个人资金月结表pmonth。

表6个人资金月结表pmonth

列名

数据类型

字长

可否为空

说明

M_LAST

int

8

NOTNULL

上月结存

M_OUT

int

8

NOTNULL

本月支出

M_IN

int

8

NOTNULL

本月收入

M_NOW

int

8

NOTNULL

本月结存

M_MONTH

date

4

NOTNULL

结存月份(主键)

M-BZ

varchar

50

NULL

备注

表7为系统权限维护表sys_safe。

表7系统权限维护表sys_safe

列名

数据类型

字长

可否为空

说明

NAME

varchar

10

NOTNULL

用户名(主键)

PASSWORD

varchar

10

NOTNULL

密码

SHUOMING

varchar

50

NULL

说明

2.3数据库结构的实现

1.创建日常事务基本信息表schedule

下面是创建日常事务基本信息表schedule的程序代码。

createtableschedule(

T_NOchar(6)NOTNULL,

T_NAMEvarchar(50)NOTNULL,

T-DATAdateNOTNULL,

T_TIMEvarchar(10)NOTNULL,

T_LBvarchar(50)NOTNULL,

T_WHEREvarchar(50)NOTNULL,

T_NRvarchar(800)NOTNULL,

T_BZvarchar(50)NOTNULL,

T_ORbitNOTNULLNOTNULL,

primarykey(T_NO));

建好后的日常事务基本信息表schedule,如下图

2.创建个人关系基本信息表customer

下面是创建个人关系基本信息表customer的程序代码。

createtablecustomer(

C_NAMEvarchar(50)NOTNULL,

C_LBvarchar(50)NOTNULL,

C_BIRTHDAYvarchar(50)NOTNULL,

C_EMAILvarchar(50)NOTNULL,

C_HOMEvarchar(50)NOTNULL,

C_CITYvarchar(50)NOTNULL,

C_PROVIENCEvarchar(50)NOTNULL,

C_ZIPvarchar(6)NOTNULL,

C_NATIONvarchar(50)NOTNULL,

C_HTELvarchar(50)NOTNULL,

C_CTELvarchar(50)NOTNULL,

C_CALLvarchar(50)NOTNULL,

C_MOBILEvarchar(50)NOTNULL,

C_FILEvarchar(300)NOTNULL,

C_BZvarchar(50)NOTNULL,

primarykey(C_NAME));

建好后的个人关系基本信息表customer,如下图

3.创建个人收入表salary

下面是创建个人收入表salary的程序代码。

createtablesalary(

I_XUHAOchar(6)NOTNULL,

I_DATEdateNOTNULL,

I_COUNTintNOTNULL,

I_SHUOMINGvarchar(100)NOTNULL,

I_BZvarchar(50)NOTNULL,

primarykey(I_XUHAO));

建好后的个人收入表salary,如下图

4.创建个人支出表output

下面是创建个人支出表output的程序代码。

createtableoutput(

O_XUHAOchar(6)NOTNULL,

O_DATEdateNOTNULL,

O_COUNTintNOTNULL,

O_SHUOMINGvarchar(100)NOTNULL,

O_BZvarchar(50)NOTNULL,

primarykey(O_XUHAO));

建好后的个人支出表output,如下图

5.创建个人资金持有表possess

下面是创建个人资金持有表possess的程序代码。

createtablepossess(

PintNOTNULL

);

建好后的个人资金持有表possess,如下图

6.创建个人资金月结表pmonth

下面是创建个人资金月结表pmonth的程序代码。

createtablepmonth(

M_LASTintNOTNULL,

M_OUTintNOTNULL,

M_INintNOTNULL,

M_NOWintNOTNULL,

M_MONTHdateNOTNULL,

M_BZvarchar(50)NOTNULL,

primarykey(M_MONTH));

建好后的个人资金月结表pmonth,如下图

7.创建系统权限维护表sys_safe

下面是创建系统权限维护表sys_safe的程序代码。

createtablesys_safe(

NAMEvarchar(10)NOTNULL,

PASSWORDvarchar(10)NOTNULL,

SHUOMINGvarchar(50)NOTNULL,

primarykey(NAME));

建好后的系统权限维护表sys_safe,如下图

2.4程序中所用类说明

用户自定义类

(1)类名:

AppFrame

作用:

生成菜单

继承:

JFrame

主要成员变量:

privateJPanelcontentPane;

privateJMenuBarjMenuBar1=newJMenuBar();

privateJMenujMenu1=newJMenu();

privateJMenujMenu2=newJMenu();

privateJMenuItemjMenuItem1=newJMenuItem();

privateJMenujMenu3=newJMenu();

privateJMenujMenu4=newJMenu();

privateJMenujMenu5=newJMenu();

privateJMenujMenu6=newJMenu();

privateJMenujMenu7=newJMenu();

privateJMenuItemjMenuItem2=newJMenuItem();

privateJMenuItemjMenuItem3=newJMenuItem();

privateJMenuItemjMenuItem4=newJMenuItem();

privateJMenuItemjMenuItem5=newJMenuItem();

privateJMenuItemjMenuItem6=newJMenuItem();

privateJMenuItemjMenuItem7=newJMenuItem();

privateJMenuItemjMenuItem8=newJMenuItem();

privateJMenuItemjMenuItem9=newJMenuItem();

privateJMenuItemjMenuItem10=newJMenuItem();

privateJMenuItemjMenuItem11=newJMenuItem();

privateJMenuItemjMenuItem12=newJMenuItem();

privateJMenuItemjMenuItem13=newJMenuItem();

privateJMenuItemjMenuItem14=newJMenuItem();

privateJMenuItemjMenuItem15=newJMenuItem();

主要成员方法:

publicAppFrame(){}

privatevoidjbInit()throwsException{}

protectedvoidprocessWindowEvent(WindowEvente){}

voidjMenuItem6_actionPerformed(ActionEvente){}//鼠标事件,监听

voidjMenuItem1_actionPerformed(ActionEvente){}

voidjMenuItem7_actionPerformed(ActionEvente){}

voidjMenuItem8_actionPerformed(ActionEvente){}

voidjMenuItem9_actionPerformed(ActionEvente){}

voidjMenuItem10_actionPerformed(ActionEvente){}

voidjMenuItem3_actionPerformed(ActionEvente){}

voidjMenuItem4_actionPerformed(ActionEvente){}

voidjMenuItem5_actionPerformed(ActionEvente){}

voidjMenuItem11_actionPerformed(ActionEvente){}

voidjMenuItem12_actionPerformed(ActionEvente){}

voidjMenuItem2_actionPerformed(ActionEvente){}

voidjMenuItem15_actionPerformed(ActionEvente){}

(2)类名:

LogFrame

作用:

生成登录界面

继承:

JFrame

主要成员变量:

privatestaticfinallongserialVersionUID=1L;

privateJLabeljLabel_name=newJLabel();

privateJLabeljLabel_password=newJLabel();

privateJTextFieldjTextField_name=newJTextField();

privateJLabeljLabel1=newJLabel();

privateJTextFieldjPasswordField=newJTextField();

privateJButtonjButton1=newJButton();

privateJButtonjButton2=newJButton();

protectedStringuser,password,password_from;

AppFrameframe;

privateJPanelmainPanel=newJPanel();

privateJPanelpanel=newJPanel();

主要成员方法:

publicLogFrame(AppFrameframe1){}

privatevoidjbInit()throwsException{}

voidjButton2_actionPerformed(ActionEvente){}

voidjTextField_name_focusLost(FocusEvente){}

voidjPasswordField_focusLost(FocusEvente){}

voidjButton1_actionPerformed(ActionEvente){}

(3)类名:

Application1

作用:

实例化对象

主要成员变量:

privatebooleanpackFrame1=false;

privatebooleanpackFrame=false;

主要成员方法:

publicApplication1(){}//实例化

2.5异常处理说明

数据库连接的异常

需要处理的异常:

Exception

处理方法:

捕获异常后,显示捕获的异常

2.6程序尚还存在的问题

我花费了近两个星期的时间,查阅了许多相关的资料,终于把这个个人事务管理系统做好了,程序基本实现了该课程设计的基本要求。

但由于自己水平有限,使得程序还有不是很完善,我会继续接着进行的。

三、程序部分代码及注释

3.1Application1.java

建立一个名为Application1的Application,并在该Application中添加一个类AppFrame,其父类为Jframe(在Application1.java文件中)。

实现代码如下:

packageapp;

importjavax.swing.UIManager;

importjava.awt.*;

/**

*Title:

个人事务管理系统

*Description:

用于个人管理

*@authorMengyaPeng

*/

publicclassApplication1{

privatebooleanpackFrame1=false;

privatebooleanpackFrame=false;

//构建啊application

publicApplication1(){

AppFrameframe=newAppFrame();

LogFrameframe1=newLogFrame(frame);

frame1.setSize(400,300);

if(packFrame1){

frame1.pack();

}

else{

frame1.validate();

}

DimensionscreenSize1=Toolkit.getDefaultToolkit().getScreenSize();

DimensionframeSize1=frame1.getSize();

if(frameSize1.height>screenSize1.height){

frameSize1.height=screenSize1.height;

}

if(frameSize1.width>screenSize1.width){

frameSize1.width=screenSize1.width;

}

frame1.setLocation((screenSize1.width-frameSize1.width)/2,(screenSize1.height-frameSize1.height)/2);

frame1.setVisible(true);

//Validateframesthathavepresetsizes

//Packframesthathaveusefulpreferredsizeinfo,e.g.fromtheirlayout

if(packFrame){

frame.pack();

}

else{

frame.validate();

}

//将主window置在中心

DimensionscreenSize=Toolkit.getDefaultToolkit().getScreenSize();

DimensionframeSize=frame.getSize();

if(frameSize.height>screenSize.height){

frameSize.height=screenSize.height;

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

当前位置:首页 > 考试认证 > 其它考试

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

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