Java设计报告.docx
- 文档编号:23716874
- 上传时间:2023-05-20
- 格式:DOCX
- 页数:47
- 大小:1.93MB
Java设计报告.docx
《Java设计报告.docx》由会员分享,可在线阅读,更多相关《Java设计报告.docx(47页珍藏版)》请在冰豆网上搜索。
Java设计报告
网络编程实践(JAVA)期末设计报告
姓名:
XXXX
学号:
XXXXXXXX
专业:
XX级教育技术
作品名称:
超市后台管理系统
指导教师:
XXX
设计日期:
XXXX年XX月
第三章本程序重要源代码的注解…………………………………17
第四章数据库设计……………………………………………………36
第五章操作方法(界面设计)……………………………………37
第1章程序分析
1.1概述
本程序主要的功能是超市系统后台商品管理。
目前,大中型的商场及超市均采用超市管理系统进行超市日常的工作。
但是对于小型的商场及超市没有资源进行系统化管理商品,单纯以人工记账的方式进行商品销售及记录。
同时,本程序由于时间的关系,将设计的重点放在了超市商品后台管理部分,而对于前台商品销售部分未能实现,深感遗憾。
本程序基本实现了用户的注册(会员卡功能)、用户登入(Admin管理功能)、按类进行商品库存查询(商品查询功能)、新增商品功能以及新建采购表以及付款表的功能。
最后,需要声明本程序主要参考了Java项目设计的书籍和CSDN论坛部分代码,代码调试、查询功能的完善、界面设计、插入数据等部分均由本人独立完成。
第二章主体设计
2.1系统各部分功能分析
系统功能主要是
1.新建商品信息(AddStore.java)–(Insert.java)
2.查询商品信息(按照编号、条形码、类别等)(Select.java)
3.新建用户(EnrollUser.java)–(Insert.java)
4.查询用户基本信息(会员功能实现)(SelectUser.java)
5.新建付款信息(AddPayment.java)–(InsertPayment.java)
6.查询付款信息(Select.java)
7.新建采购信息(AddStock.java)–(Insert.java)
8.查询采购信息(Select.java)
2.2各个模块的功能及对象、属性、类的功能说明
(1)数据库连接类(DBAccess.java)
A功能:
用于连接SqlServer数据库。
将连接数据库的代码封装在本类中(如注册驱动、关闭资源对象等操作)通过调用getConnection的方法可以进行数据库的连接操作。
Connectionconn=null;
conn=DBAccess.getConnection();
B主要对象、属性及其作用:
对象名称
类型
功能
conn
Connection
通过sqljdbc.jar包建立连接
DRIVER
String
驱动串
URL
String
URL地址
USER
String
用户名
PASSWORD
String
密码
C主要方法:
名称
功能
getConnection
用于连接SqlServer数据库。
将连接数据库的代码封装在本类中(如注册驱动、关闭资源对象等操作)通过调用getConnection的方法可以进行数据库的连接操作。
(2)Application主类(MyApp.java):
A功能:
本类作为Main函数的入口,实例化登陆窗口。
B主要对象、属性及其作用:
对象名称
类
功能
admin
Admin
实例化登陆窗口
C主要方法:
名称
功能
setVisible
界面的初始化
setLocation
通过初始化界面出现的位置
(3)主界面(MainFrame.java)
A功能:
这是主界面,内有一个JScrollPane,把查询功能所查询的信息以Java控件JTable的方式呈现到页面上来,同时上方有一JMenuBar,主要是存放本程序查询、插入功能的文件栏目。
JScrollPane的左侧则是Java控件JTree,存放本程序查询、插入功能的节点,方便用户进行可视化的操作。
B主要对象、属性及其作用:
名称
类
功能
JMenuBar1
jMenuBar
存放本程序查询、插入功能的菜单
jTree1
jTree
存放本程序查询、插入功能的树节点
saveDialog
FileDialog
保存文件对话框
C主要方法:
名称
功能
jbInit
进行对象初始化
actionPerformed
主要包括了jMenuItem点击方法,以实现查询商品信息、查询订单信息、查询支付信息、添加商品信息、添加用户信息、新建订单、新建付款信息等等
valueChanged
主要包括了JTree点击方法,以实现查询商品信息、查询订单信息、查询支付信息、添加商品信息、添加用户信息、新建订单、新建付款信息等等
savePicture
主要用于保存jpg图片
(4)关于作者界面(MainFrame_AboutBox.java)
A功能:
这是一个JDialog类,是MainFrame类其中的一个弹出的面板,主要的功能是介绍作者信息及程序版本号信息等等。
B主要对象、属性及其作用:
名称
类
功能
panel1
Jpanel
存放字符串及图片信息的容器
image1
ImageIcon
图片
C主要方法:
名称
功能
jbInit
进行对象初始化
actionPerformed
关闭窗口的点击事件
(5)添加支付信息(AddPayment.java)
A功能:
这是一个JDialog类,是MainFrame类其中的一个弹出的面板,主要的功能是添加支付信息,内有四个按钮,分别是下单(将记录放入JScrollPane)、删除、退出、确定(更新数据库)。
B主要对象、属性及其作用:
名称
类
功能
jScrollPane1
JScrollPane
用于显示新添加的信息
jTable1
jTable
以表格的形式显示新添加的信息
jTableHeader1
JTableHeader
定义表格头并赋初值
Vector
colnames
定义向量表以存放表格头信息
C主要方法:
名称
功能
jbInit
进行对象初始化
actionPerformed
四个按钮,分别是下单(将记录放入JScrollPane)、删除、退出、确定(更新数据库)的鼠标单击事件。
(6)新增采购信息(AddStock.java)
A功能:
这是一个JDialog类,是MainFrame类其中的一个弹出的面板,主要的功能是新增采购信息,内有四个按钮,分别是确定(将记录放入JScrollPane)、删除、退出、提交(更新数据库)。
B主要对象、属性及其作用:
名称
类
功能
jScrollPane1
JScrollPane
用于显示新添加的信息
jTable1
jTable
以表格的形式显示新添加的信息
jTableHeader1
JTableHeader
定义表格头并赋初值
Vector
colnames
定义向量表以存放表格头信息
C主要方法:
名称
功能
jbInit
进行对象初始化
AddStock
构造方法,主要设置面板的位置
actionPerformed
四个按钮,分别是确定(将记录放入JScrollPane)、删除、退出、提交(更新数据库)。
focusGained
失去焦点监听方法,主要用于判断输入的数据是否符合语义
(7)新增商品信息(AddStore.java)
A功能:
这是一个JDialog类,是MainFrame类其中的一个弹出的面板,主要的功能是新增商品信息,内有四个按钮,分别是添加(将记录放入JScrollPane)、重置、删除(删除JScrollPane选中的数据)、提交(更新数据库)。
B主要对象、属性及其作用:
名称
类
功能
jScrollPane1
JScrollPane
用于显示新添加的信息
jTable1
jTable
以表格的形式显示新添加的信息
jTableHeader1
JTableHeader
定义表格头并赋初值
Vector
colnames
定义向量表以存放表格头信息
C主要方法:
名称
功能
jbInit
进行对象初始化
AddStore
构造方法,主要设置面板的位置
actionPerformed
四个按钮,分别是添加(将记录放入JScrollPane)、重置、删除(删除JScrollPane选中的数据)、提交(更新数据库)。
(8)管理员登陆窗口(Admin.java)
A功能:
这是一个JDialog类,是MainFrame类其中的一个弹出的面板,主要的功能是登陆身份验证。
B主要对象、属性及其作用:
名称
类
功能
Panel1
Panel
用于显示登陆界面
jPasswordField1
jPasswordField
密码框
jTableHeader1
JTableHeader
定义表格头并赋初值
Vector
colnames
定义向量表以存放表格头信息
C主要方法:
名称
功能
jbInit
进行对象初始化
Admin
构造方法,主要设置面板的位置
actionPerformed
用户名、密码、身份的验证
(9)注册用户窗口(Adminstrator.java)
A功能:
这是一个JDialog类,是MainFrame类其中的一个弹出的面板,主要的功能是注册用户。
那么,在注册用户之前需要管理员权限才可以进行注册。
B主要对象、属性及其作用:
名称
类
功能
Panel1
Panel
用于显示登陆界面
jPasswordField1
jPasswordField
密码框
C主要方法:
名称
功能
jbInit
进行对象初始化
Admin
构造方法,主要设置面板的位置
actionPerformed
用户名、密码、身份的验证
(10)注册用户窗口2(EnrollUser.java)
A功能:
这是一个JDialog类,是MainFrame类其中的一个弹出的面板,主要的功能是注册用户。
那么,在注册用户之前需要管理员权限才可以进行注册。
在EnrollUser界面中,有着注册、修改、退出的按钮,主要实现插入及更新操作。
B主要对象、属性及其作用:
名称
类
功能
Panel1
Panel
用于显示登陆界面
jPasswordField1
jPasswordField
密码框
C主要方法:
名称
功能
jbInit
进行对象初始化
EnrollUser
构造方法,主要设置面板的位置
actionPerformed
注册、修改、退出的按钮,主要实现插入及更新操作
(11)创建表格组件对象(Mytable.java)
A功能:
此类是公共类,主要用于创建表格组件对象。
B主要对象、属性及其作用:
名称
类
功能
table
JTable
创建表格组件对象
Obj
Vector
存放表格信息内容
title
Vector
存放表头
C主要方法:
名称
功能
maketable
创建表格组件对象
(12)获取当前时间(GetTime.java)
A功能:
此类是公共类,主要用于获取当前时间。
并通过线程的方式达到时间走动的效果。
B主要对象、属性及其作用:
名称
类
功能
objcalendar
Calendar
日历对象
year
Int
存放当前年
Month
Int
存放当前月份
Date
Int
存放当前日
time1
String
存放当前的时间(时分秒)
C主要方法:
名称
功能
getTime
获取当前时间
(13)实现插入的功能(Insert.java)
A功能:
此类是公共类,主要用于实现插入的功能
B主要对象、属性及其作用:
名称
类
功能
conn
Connection
建立连接
pmst
PreparedStatement
预处理
Insert1
String
插入采购信息(新增采购单)
Insert2
String
插入商品信息(新增商品)
Insert3
String
插入用户信息(新增用户)
C主要方法:
名称
功能
Insert_User
插入用户信息(新增用户)
Insert_merchandise
插入商品信息(新增商品)
Insert_stock
插入采购信息(新增采购单)
(14)实现插入支付信息的功能(InsertPayment.java)
A功能:
此类是公共类,主要用于实现插入支付信息的功能。
B主要对象、属性及其作用:
名称
类
功能
conn
Connection
建立连接
pmst
PreparedStatement
预处理
SQL_SAVE
String
插入支付信息(新增支付单)
C主要方法:
名称
功能
save
插入支付信息(新增支付单)
(15)实现查询各类信息的功能(Select.java)
A功能:
此类是公共类,主要用于实现查询各类信息的功能。
B主要对象、属性及其作用:
名称
类
功能
conn
Connection
建立连接
pmst
PreparedStatement
预处理
C主要方法:
名称
功能
Select_sort1
按商品类别查询
Select_sort2
按商品编号查询
Select_sort3
按商品名称查询
Select_sort4
按商品条形码查询
Select_User
登陆
Select_UserManager
查询卡信息
Select_StockPile
查询商品库存数量
Select_repertory
根据商品编码查询库存
Select_All_repertory
查询所有库存
Select_All_PaymentList()
查询所有采购信息
Select_All_Stock
查询所有订单信息
(16)实现更新用户信息的功能(Update.java)
A功能:
此类是公共类,主要用于实现更新用户信息的功能。
B主要对象、属性及其作用:
名称
类
功能
conn
Connection
建立连接
pmst
PreparedStatement
预处理
C主要方法:
名称
功能
UpdateCard
实现更新用户信息的功能
第三章本程序重要源代码的注解
3.1公共类
●实现时间的走动
importjava.util.Date;
importjava.util.Calendar;
publicclassGetTime{
publicGetTime(){
}
publicstaticStringgetTime(){//得到当前日期和时间
Datedate1=newDate();//当前时间
Calendarobjcalendar;
Stringtime="";
objcalendar=Calendar.getInstance();//初始化
intyear=objcalendar.get(Calendar.YEAR);//获取年份
intMonth=objcalendar.get(Calendar.MONTH);//获取月份
Month+=1;//为月份加1,因为1月的值为0
IntegerMonth1=newInteger(Month);
StringMonthtos;
if(Month<10){//如果月份小于10,在前面加0,保证两位
Monthtos="0"+Month1.toString();
}else{
Monthtos=Month1.toString();
}
intDate=objcalendar.get(Calendar.DATE);
IntegerDate1=newInteger(Date);
StringDatetos;
if(Date<10){//日小于10,前面加0
Datetos="0"+Date1.toString();
}else{
Datetos=Date1.toString();
}
Stringtime1=date1.toString().substring(11,19);//获取当前时间
time=year+"-"+Monthtos+"-"+Datetos+""+time1;
returntime;
}
}
调用方法
Timertimer=newTimer();
timer.schedule(newRemindTask(),0,1000);//得到当前时间
classRemindTaskextendsTimerTask{
publicvoidrun(){
jTextField9.setText(GetTime.getTime());
}
}
●实现JTable的生成
packagemain.dialog;
importjava.util.Vector;
importjavax.swing.*;
publicclassMytable{
publicstaticJTablemaketable(Vectorobj,Vectortitle){
JTabletable=newJTable(obj,title);//创建表格组件对象
table.setBackground(newjava.awt.Color(204,204,255));
returntable;
}
}
调用方法
实例:
查询所有支付信息并制成表
colnames.add("进货单号");
colnames.add("供货商");
colnames.add("货币");
colnames.add("付款方式");
colnames.add("付款金额");
colnames.add("支票号");
colnames.add("日期");
colnames.add("经手人");
colnames.add("制单人");
introw=jTable1.getSelectedRow();
colnames4.remove(row);
jTable1=Mytable.maketable(colnames4,colnames);//显示内容
jScrollPane1.getViewport().add(jTable1);//把表装入容器
3.2查询类
packagemain.sql;
importjava.util.Vector;
importjava.sql.*;
importmain.*;
publicclassSelect{
privatestaticfinalStringselect1=
"select*fromMerchandisewhereSortNumber=?
";
privatestaticfinalStringselect2=
"select*fromMerchandisewhereMerchandiseNumber=?
";
privatestaticfinalStringselect3=
"select*fromMerchandisewhereMerchandiseName=?
";
privatestaticfinalStringselect4=
"select*fromMerchandisewhereTreatyCode=?
";
privatestaticfinalStringselect5=
"select*fromUserManagewhereCardId=?
";
privatestaticfinalStringselect6=
"select*fromUserManagewhereUserName=?
andPassword=?
andUserGrade=?
";
privatestaticfinalStringselect7=
"select*fromStock";
privatestaticfinalStringselect8=
"select*fromPaymentList";
privatestaticfinalStringselect9=
"selectnumberfromStockPilewhereMerchandiseNumber=?
";
privatestaticfinalStringselect10=
"select*fromStockPilewhereMerchandiseNumber=?
";
privatestaticfinalStringselect11=
"select*fromStockPile";
publicSelect(){
}
publicstaticVectortablehead(){
Vectordqname=newVector();
dqname.add("商品编码");
dqname.add("条型码");
dqname.add("类别编号");
dqname.add("商品名称");
dqname.add("零售价(元)");
dqname.add("商品规格");
dqname.add("计量单位");
dqname.add("进货价");
dqname.add("备注");
returndqname;
}
publicstaticVectorSelect_sort1(Stringnumber){//商品类别查询
Connectionconn=null;
PreparedStatementpmst=null;
ResultSetrs=null;
Vectorvector2=newVector();
conn=DBAccess.getConnection();
try{
pmst=conn.prepareStatement(select1);
pmst.setString(1,number);
rs
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 设计 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)