if(string.equals(\)){ p++; }
if(p==0){ //判断该管理员是普通管理员,没有修改管理员信息的权限 jtxtArray[0].requestDefaultFocus();
String jtxt=jtxtArray[0].getText().trim(); String jtxt=jtxtArray[0].getText().trim(); if(jtxt.equals(\)){//当输入为空,提示
JOptionPane.showMessageDialog(this, \请输入管理员名!!!\, \消息\,JOptionPane.INFORMATION_MESSAGE);
return; }
}
catch(Exception ex){ex.printStackTrace();} db.dbClose();//关闭数据库链接
实现此管理员管理模块的类与方法:
此模块命名为Manager,继承了JPanel类,并实现ActionListener接口,使用JPanel作为容器,以便加入GUI组件,实现ActionListener接口中的actionPerformed方法,在构造函数中进行了容器及相应标签和按钮等的布局,并针对相应的事件编写了相应的方法,如:insertManager()方法编写了添加管理员的动作,其结果反应到数据库中的Manager表中,并在显示界面的JTable实例的对象中反应给用户。其主要的对象及方法如下表:
主要对象与方法
jsp对象 jpt对象 str1对象 jtxtArray对象 jlArray对象 jbArray对象 head对象 data对象 dtm对象 jt对象 jspn对象 Manager(String mgNo)方法 actionPerformed( ActionEvent e)方
法
功能与作用
将面板分割为两个显示区域,上半部分为输入区,下半部分为向
用户显示结果的区域 以便向该模块中添加GUI组件 接收文本框中的String字符串的数组 创建的文本框,用于接收键盘向其输入的字符串 用于显示标签组(如:管理员名和权限等标签) 创建的按钮组(如:添加管理员和删除管理员按钮) 由Vector实例化的对象,用于对显示给用户的表格创建表头
由Vector实例化的对象,用于存储表中数据的数组 由DefaultTableModel实例化的对象,用于创建表格模型的对象
JTable的对象,用于显示给用户可见的结果
将JTable封装到滚动表格
Manager类的构造函数,封装了此模块的界面布局
实现事件响应监听器接口中的方法,其响应的事件源有文本框和布局在此类中的按钮。并调用了此类中设计的方法
22
insertManager()方
法
deleteManager()方
法
updateManager()方
法
selectManager()方
法 manager1()方法 table()方法 main()方法
此方法实现了对管理员进行添加,其功能有判断管理员名格式是否正确的功能、执行添加管理员的功能,对数据库表进行操作的功能等
此方法与insertManager()方法类似,其不同之处为此方法操作为从数据库表中删除记录
此方法是对管理员信息进行修改,对数据库中表的内容进行了更新
对数据库的内容进行查询操作,将查询的内容显示到JTable实例化的对象中
辅助上述四个方法,用于查询管理员名文本框中输入内容是否存在于manager表中
将查询到的内容显示到JTable中
程序的入口,JVM识别此main方法从而编译该程序生成.class
文件
表4.5 管理员管理模块的类与方法表
4.2.5学生用户管理功能模块的实现
学生用户管理主要实现对学生的借阅权限管理和信息管理功能模块,其中学生用户借阅权限管理中需要设置不同的参数判断其是否有权限借阅图书,学生用户信息管理则主要管理维护学生用户的基本信息,其操作界面如下所示:
图4.6 学生用户管理操作界面
该管理功能在设置学生信息时需要输入学号,姓名,性别,班级,院系,密码信息。这些信息都为必填选项。
此模块命名为Student,继承了JPanel类,并实现ActionListener接口,使用JPanel作为容器,以便加入GUI组件,实现ActionListener接口中的actionPerformed方法,在构造函数中进行了容器及相应标签和按钮等的布局,调用了事件响应监听事件,并针对相应的事件编写了相应的方法,如:insertStudent()方法编写了添加学生用户的动作,其结果反应到数据库中的Student表中,并在显示界面的JTable实例的对象中反应给用户。
23
实现此学生用户管理模块的对象与方法:
主要对象与方法
jsp对象 jpt对象 jcp对象 str对象 str1对象 jtxtArray对象 jlArray对象 jbArray对象 head对象 data对象 dtm对象 jt对象 jspn对象 Student()方法 actionPerformed( ActionEvent e)方
法
insertStudent()方
法
deleteStudent()方
法
updateStudent()方
法
searchStudent()
方法
功能与作用
将面板分割为两个显示区域,上半部分为输入区,下半部分为向
用户显示结果的区域 以便向该模块中添加GUI组件
JComboBox实例化的对象,用于创建下拉列表框
创建下拉列表框数据模型的字符串数组 接收文本框中的String字符串的数组 创建的文本框,用于接收键盘向其输入的字符串 用于显示标签组(如:学号和学生姓名等标签) 创建的按钮组(如:添加学生信息和删除学生信息按钮) 由Vector实例化的对象,用于对显示给用户的表格创建表头
由Vector实例化的对象,用于存储表中数据的数组 由DefaultTableModel实例化的对象,用于创建表格模型的对象
JTable的对象,用于显示给用户可见的结果
将JTable封装到滚动表格
Student类的构造函数,封装了此模块的界面布局和设置监听器 实现事件响应监听器接口中的方法,其响应的事件源有文本框和布局在此类中的按钮。并调用了此类中设计的方法
此方法实现了对学生用户进行添加,其功能有判断学生信息是否为空的功能、执行添加学生信息的功能、对数据库表进行操作的功能和显示结果到JTable中的功能
此方法与insertStudent()方法类似,其不同之处为此方法操作为从数据库表中删除记录
此方法是对学生信息进行修改,对数据库中表的内容进行了更新 对数据库的内容进行查询操作,将查询的内容显示到JTable实例化的对象中
表4.7 学生用户管理模块的对象与方法表
4.2.6图书管理功能模块的实现
与学生管理模块类似,图书管理模块也为图书状态管理和图书信息管理模块,其中图
24
书状态管理功能判断图书是否被借阅或被预约,图书信息管理是管理维护图书馆藏书的基本信息。其模块操作界面为:
图4.8 图书管理操作界面
图书信息中包含图书的书号,书名,作者,出版社,购买日期基本信息,是否预约,是否借阅默认项为“否”,其文本框中信息都为必填项。
实现此图书管理模块的过程简述:
此模块命名为BookManager,继承了JPanel类,并实现ActionListener接口,使用JPanel作为容器,以便加入GUI组件,实现ActionListener接口中的actionPerformed方法,在构造函数中进行了容器及相应标签和按钮等的布局,调用了事件响应监听事件,并针对相应的事件编写了相应的方法,如:insertBook()方法编写了添加图书信息的动作,其结果反应到数据库中的Book表中,并在显示界面的JTable实例的对象中反应给用户。由于设计此类的过程与Manager类的过程类似,其主要的对象及方法在此不做赘述。
4.2.7图书借阅预约功能模块的实现
该功能模块分为图书借阅和图书预约功能。
1)图书借阅。该子模块实现系统的借阅功能,学生用户向图书管理员提供自己的编号,再提供要借阅的图书编号,图书管理员将信息记录在系统中,借阅成功。
2)图书预约。该子模块的实现与图书借阅大相近庭,最大的区别是对不同的数据表进行操作。其操作界面如下图:
图4.9 图书借阅预约操作界面
图书借阅成功后,系统会对图书信息表进行更新,并会创建时间对象来获取当前计算机时间以对应借阅时间,然后将此记录到record表中,具体实现代码为:
Calendar now=Calendar.getInstance();
sql=\是' where BookNO=\
25
+Integer.parseInt(jtxt3.getText().trim());
db.updateDb(sql);//成功,则设置该书的Borrowed项为\是\输出借书成功信息框 JOptionPane.showMessageDialog(this, \借书成功\,\消息\,JOptionPane.INFORMATION_MESSAGE); sql=\
values(\+Integer.parseInt(jtxt3.getText().trim())+\+Integer.parseInt(jtxt4.getText().trim())+\+(now.get(Calendar.YEAR))+\
+(now.get(Calendar.MONTH)+1)+\+now.get(Calendar.DAY_OF_MONTH)+\+\+(now.get(Calendar.YEAR))+\
+(now.get(Calendar.MONTH)+2)+\+now.get(Calendar.DAY_OF_MONTH)+\否','否')\;
db.updateDb(sql);//将该书记录插入Record表中
本模块中两个子模块图书借阅与图书预约的设计内容相似,在此对图书借阅功能模块进行介绍,实现图书借阅模块的类与方法:
此模块命名为BorrowBook,继承了JPanel类,并实现ActionListener接口,使用JPanel作为容器,以便加入GUI组件,实现ActionListener接口中的actionPerformed方法,在构造函数中进行了容器及相应标签和按钮等的布局,在actionPerformed方法中实现对借阅书籍操作的响应,并利用SQL语句对数据库中相关表进行了操作。其主要的对象及方法如下表:
主要对象与方法 jsp1对象 jp2对象 jtxt对象 jl对象 jb2对象 jrbArray对象 head对象 data对象 dtm对象 jt对象 jspn对象 SearchBook()方法
功能与作用
将面板分割为两个显示区域,上半部分为输入区,下半部分为向
用户显示结果的区域
JPanel实例化的对象。以便向该模块中添加GUI组件 创建的文本框,用于接收键盘向其输入的字符串 用于显示标签(如:请输入学号等标签)
创建的按钮(如:“确定”按钮)
由JRadioButton实例化的单选按钮,用于进行条件性的选择 由Vector实例化的对象,用于对显示给用户的表格创建表头
由Vector实例化的对象,用于存储表中数据的数组 由DefaultTableModel实例化的对象,用于创建表格模型的对象
JTable的对象,用于显示给用户可见的结果
将JTable封装到滚动表格
SearchBook类的构造函数,封装了此模块的界面布局和设置监
听器
实现事件响应监听器接口中的方法,其响应的事件源有文本框和布局在此类中的按钮。主要实现了判断单选按钮被选中的事件,根据不同的单选按钮,调用不同的方法进行下一步的操作。实现了查询和将查询到的结果返回到界面的表中
26
actionPerformed( ActionEvent e)方
法