电影票务信息管理系统1.docx
- 文档编号:8479483
- 上传时间:2023-01-31
- 格式:DOCX
- 页数:75
- 大小:454.30KB
电影票务信息管理系统1.docx
《电影票务信息管理系统1.docx》由会员分享,可在线阅读,更多相关《电影票务信息管理系统1.docx(75页珍藏版)》请在冰豆网上搜索。
电影票务信息管理系统1
淮海工学院计算机工程学院
实验报告书
课程名:
《面向对象程序设计》
实验名称:
基于图形用户界面的JDBC程序开发
电影票务信息管理系统
班级:
软件081
组长:
XX
组员:
XX
一.目的:
1.掌握Java图形界面的设计方法,熟练运用GUI标准组件,理解Java的事件处理机制。
2.综合运用所学的Java语言面向对象的编程技术,重点体现面向对象的编程思想,学会运用JDBC技术。
二.题目:
在作业三的基础上,利用Access设计一个后台数据库,将选题最终开发成与数据库相关的应用程序。
三.要求:
1.每队根据选题需要设计一个Access数据库,数据库中一般不少于3个数据表,表结构与命名由组员根据系统功能自行设计;
但所有团队的数据库名字为DBInfo,JDBC数据源的名字统一用DBConn,用户名user,密码123456;
2.各位同学利用自己设计的用户界面进行数据采集、处理,主要包括信息录入、维护和查询等;必须实现通过用户界面将前两次作业中编写的类、方法与数据库协调调用起来;
3.在源程序和实验报告中对本次作业新加的部分要进行重点说明;
4.提交时间:
6月4日
四、实验步骤与源程序
1.选题与团队分工
◆选题:
电影票务信息管理系统
◆分工:
角色
姓名
承担的具体任务
组长
李晓天
主界面,退票功能及数据库的实现
组员
陈点点
票务管理功能的实现
组员
杨娟
用户功能的实现
2.系统需求分析
◆系统功能描述
电影票务信息管理信息主要有三个用户,一个是系统管理员,负责系统中所有功能,第二个是票务管理员,主要进行电影票的增加,修改以及删除等功能。
第三个是普通用户,只可以进行订票,退票以及用户列表等功能的操作。
◆系统用例图
3.系统类图设计
杨娟李晓天陈点点
4.源程序
李晓天:
数据库模块:
packagelxt;
importjava.sql.*;
importjava.util.*;
publicclassDataBaseManager
{
Connectioncon;//声明对象
ResultSetrs,rs1;//声明ResultSet对象
Statementstmt,stmt1;//声明Statement对象
PreparedStatementsql=null;
//Access数据库连接字符串
Stringdriver="sun.jdbc.odbc.JdbcOdbcDriver";//数据库连接驱动程序
Stringurl="jdbc:
odbc:
driver={MicrosoftAccessDriver(*.mdb)};DBQ=CinemaBase.mdb";//数据库类型、位置、名称,换成自己的数据库文件
Stringuser="user";//数据库访问账号
Stringpwd="123456";//数据库访问密码
Stringnotes="数据库操作结果提示";
Vectorv=newVector(2,1);//将查询结果用向量带出来
publicDataBaseManager()//数据库连接
{
try
{
Class.forName(driver);
con=DriverManager.getConnection(url,user,pwd);
stmt=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
stmt1=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
}
catch(ClassNotFoundExceptioncnfex)
{
System.err.println("FailedtoloadJDBC/ODBCdriver.");//标准错误
cnfex.printStackTrace();//捕获加载驱动程序异常
System.exit
(1);//terminateprogram
}
catch(SQLExceptionsqle)
{
System.out.println(sqle.toString());
}
catch(Exceptionex)
{
System.out.println(ex);
}
}
更新(多态):
publicResultSetgetResult(StringstrSQL,ResultSetrs,intx)//查询数据库记录,并返回查询结果的记录集
{
try//捕获返回结果时的异常
{
if(x==0)
rs=stmt.executeQuery(strSQL);//返回相应类型结果集
if(x==1)
rs=stmt1.executeQuery(strSQL);//返回相应类型结果集
returnrs;
}
catch(SQLExceptionsqle)
{
System.out.println(sqle.toString());
notes="数据库查询出现异常!
";
returnnull;
}
}
publicResultSetgetResult(StringstrSQL)//查询数据库记录,并返回查询结果的记录集
{
try//捕获返回结果时的异常
{
rs=stmt.executeQuery(strSQL);//返回相应类型结果集
returnrs;
}
catch(SQLExceptionsqle)
{
System.out.println(sqle.toString());
notes="数据库查询出现异常!
";
returnnull;
}
}
publicbooleanupdateSql(StringstrSQL)
{
try//捕获添加新纪录时的异常
{
stmt.executeUpdate(strSQL);//向数据库表中添加新纪录
mit();
returntrue;
}
catch(SQLExceptionsqle)
{
System.out.println(sqle.toString());
returnfalse;
}
}
publicvoidcloseConnection()
{
try//捕获连接时的异常
{
con.close();
}
catch(SQLExceptionsqle)
{
System.out.println(sqle.toString());
}
}
}
有更新(将此界面改为登录后界面):
MainWindow模块:
packagelxt;
importcdd.*;
importyj.*;
importjava.awt.*;
importjava.awt.event.*;
importjavax.swing.*;
publicclassMainWindowextendsJFrameimplementsActionListener
{
JPanelpanel1;//定义面板
Containerc;//定义容器
JMenuBarMenuB;//定义表单
JMenuSystemMenu,TicketMGRMenu,TicketSellMenu,
ReturnTicketMenu,InfoBrowseMenu,UserMGRMenu;
JMenuItemUserLoginMenuItem,UserAddMenuItem,UserModifyMenuItem,UserDeleteMenuItem,ExitMenuItem,
TicketAddMenuItem,TicketModifyMenuItem,TicketDeleteMenuItem,
TicketSellMenuItem,ReturnTicketMenuItem,
TicketListMenuItem,UserListMenuItem;
JLabeltitleLabel;//定义标签
publicMainWindow()
{
super("电影票务信息管理系统");//初始化菜单
//--系统管理菜单--
MenuB=newJMenuBar();
SystemMenu=newJMenu("系统管理");
UserMGRMenu=newJMenu("用户管理")
UserAddMenuItem=newJMenuItem("添加用户");
UserModifyMenuItem=newJMenuItem("修改用户");
UserDeleteMenuItem=newJMenuItem("删除用户");
ExitMenuItem=newJMenuItem("退出");
SystemMenu.add(UserMGRMenu);//添加菜单
UserMGRMenu.add(UserAddMenuItem);
UserMGRMenu.add(UserModifyMenuItem);
UserMGRMenu.add(UserDeleteMenuItem);
SystemMenu.add(ExitMenuItem);
UserAddMenuItem.addActionListener(this);
UserModifyMenuItem.addActionListener(this);
UserDeleteMenuItem.addActionListener(this);
ExitMenuItem.addActionListener(this);
MenuB.add(SystemMenu);
//---电影票管理菜单--
TicketMGRMenu=newJMenu("电影票管理");//初始化菜单
TicketAddMenuItem=newJMenuItem("添加电影票");
TicketModifyMenuItem=newJMenuItem("修改电影票");
TicketDeleteMenuItem=newJMenuItem("删除电影票");
TicketMGRMenu.add(TicketAddMenuItem);//添加菜单
TicketMGRMenu.add(TicketModifyMenuItem);
TicketMGRMenu.add(TicketDeleteMenuItem);
TicketAddMenuItem.addActionListener(this);//注册监听
TicketModifyMenuItem.addActionListener(this);
TicketDeleteMenuItem.addActionListener(this);
MenuB.add(TicketMGRMenu);
//--出售管理菜单--
TicketSellMenu=newJMenu("出售管理");
TicketSellMenuItem=newJMenuItem("电影票出售");
TicketSellMenu.add(TicketSellMenuItem);
TicketSellMenuItem.addActionListener(this);
MenuB.add(TicketSellMenu);
//--退票管理菜单--
ReturnTicketMenu=newJMenu("退票管理");
ReturnTicketMenuItem=newJMenuItem("电影票退还");
//添加表单
ReturnTicketMenu.add(ReturnTicketMenuItem);
ReturnTicketMenuItem.addActionListener(this);
MenuB.add(ReturnTicketMenu);
//--信息一览菜单--
InfoBrowseMenu=newJMenu("信息一览");
TicketListMenuItem=newJMenuItem("电影票列表");
UserListMenuItem=newJMenuItem("用户列表");
//添加表单
InfoBrowseMenu.add(TicketListMenuItem);
InfoBrowseMenu.add(UserListMenuItem);
//注册,监听
TicketListMenuItem.addActionListener(this);
UserListMenuItem.addActionListener(this);
MenuB.add(InfoBrowseMenu);
setJMenuBar(MenuB);//将菜单条添加到窗口的顶端
titleLabel=newJLabel(newImageIcon(".\\pic.jpg"));
c=getContentPane();
c.setLayout(newBorderLayout());
panel1=newJPanel();
panel1.setLayout(newBorderLayout());
panel1.add(titleLabel,BorderLayout.CENTER);
c.add(panel1,BorderLayout.CENTER);
setBounds(400,200,400,300);
setVisible(true);
//--设置初始功能:
--
UserMGRMenu.setEnabled(false);
TicketMGRMenu.setEnabled(false);
TicketSellMenu.setEnabled(false);
ReturnTicketMenu.setEnabled(false);
InfoBrowseMenu.setEnabled(false);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
//--设置每个菜单点击后出现的窗口和窗口显示的位置--
publicvoidactionPerformed(ActionEvente)
{
if(e.getActionCommand().equals("添加用户"))
{//初始化添加用户窗口
UserAddUserAddFrame=newUserAdd();
UserAddFrame.setLocation(160,140);//弹出框位置
UserAddFrame.pack();
UserAddFrame.setVisible(true);//显示窗口
}
elseif(e.getActionCommand().equals("修改用户"))
{//初始化修改用户窗口
UserModifyUserModifyFrame=newUserModify();
UserModifyFrame.setLocation(160,140);//弹出框位置
UserModifyFrame.pack();
UserModifyFrame.setVisible(true);//显示窗口
}
elseif(e.getActionCommand().equals("删除用户"))
{//初始化删除用户窗口
UserDeleteUserDeleteFrame=newUserDelete();
UserDeleteFrame.setLocation(150,150);//弹出框位置
UserDeleteFrame.pack();
UserDeleteFrame.setVisible(true);//显示窗口
}
elseif(e.getActionCommand().equals("添加电影票"))
{//初始化添加窗口
TicketAddTicketAddFrame=newTicketAdd();
TicketAddFrame.setLocation(130,110);//弹出框位置
TicketAddFrame.pack();
TicketAddFrame.setVisible(true);//显示窗口
}
elseif(e.getActionCommand().equals("修改电影票"))
{//初始化修改窗口
TicketModifyTicketModifyFrame=newTicketModify();
TicketModifyFrame.setLocation(130,110);//弹出框位置
TicketModifyFrame.pack();
TicketModifyFrame.setVisible(true);//显示窗口
}
elseif(e.getActionCommand().equals("删除电影票"))
{//初始化删除窗口
TicketDeleteTicketDeleteFrame=newTicketDelete();
TicketDeleteFrame.setLocation(150,150);//弹出框位置
TicketDeleteFrame.pack();
TicketDeleteFrame.setVisible(true);//显示窗口
}
elseif(e.getActionCommand().equals("电影票出售"))
{//初始化出售窗口
TicketSellTicketSellFrame=newTicketSell();
TicketSellFrame.setLocation(160,140);//弹出框位置
TicketSellFrame.pack();
TicketSellFrame.setVisible(true);//显示窗口
}
elseif(e.getActionCommand().equals("电影票退还"))
{//初始化退还窗口
ReturnTicketReturnTicketFrame=newReturnTicket();
ReturnTicketFrame.setLocation(160,140);//弹出框位置
ReturnTicketFrame.pack();
ReturnTicketFrame.setVisible(true);//显示位置
}
elseif(e.getActionCommand().equals("电影票列表"))
{//初始化列表
TicketListTicketListFrame=newTicketList();
TicketListFrame.setLocation(110,130);//弹出框位置
TicketListFrame.pack();
TicketListFrame.setVisible(true);//显示窗口
}
elseif(e.getActionCommand().equals("用户列表"))
{//初始化用户列表
UserListUserListFrame=newUserList();
UserListFrame.setLocation(120,140);//弹出框位置
UserListFrame.pack();
UserListFrame.setVisible(true);//显示窗口
}
elseif(e.getActionCommand().equals("退出"))
{
this.dispose();
System.exit(0);
}
}
//--设置登录用户的权限--
publicvoidsetEnable(StringpowerType)
{
if(powerType.equals("系统管理员"))
{
UserMGRMenu.setEnabled(true);//系统管理员拥有所有权限
TicketMGRMenu.setEnabled(true);
TicketSellMenu.setEnabled(true);
ReturnTicketMenu.setEnabled(true);
InfoBrowseMenu.setEnabled(true);
UserListMenuItem.setEnabled(true);
}
elseif(powerType.equals("电影票管理员"))
{
UserMGRMenu.setEnabled(false);//电影票管理员只有票务管理权限
TicketMGRMenu.setEnabled(true);
TicketSellMenu.setEnabled(false);
ReturnTicketMenu.setEnabled(false);
InfoBrowseMenu.setEnabled(true);
UserListMenuItem.setEnabled(false);
}
elseif(powerType.equals("普通用户"))
{
UserMGRMenu.setEnabled(false);//设置权限
TicketMGRMenu.setEnabled(false);
TicketSellMenu.setEnabled(true);
ReturnTicketMenu.setEnabled(true);
InfoBrowseMenu.setEnabled(true);
UserLis
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电影票 信息管理 系统