




免费预览已结束,剩余71页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
图书借阅管理系统课前导读随着计算机的广泛运用、网络技术的飞速发展,利用计算机来管理信息成为社会发展的趋势。图书管理系统的开发就是为了摆脱以往人工操作的诸多不便,实现图书、工作人员与读者信息的微机化管理。图书管理系统的实施,很大程度上提高了图书信息资源的利用率, 减轻了工作人员的工作强度,提高了他们的工作效率,也使管理更加科学、完善,使得读者能够更加方便的对图书进行个性化的管理。本章将以第二篇项目驱动篇所介绍的内容为基础,对以上内容进行总结,并对系统功能进行分析和设计,系统讲解图书借阅管理系统的开发,该系统可以实现图书或读者信息查询、图书信息管理、图书借阅管理、用户管理等功能。重点提示本章重点讲解系统流程、模块功能、数据库设计以及系统各个模块的具体实现。通过对本系统模块功能分析、系统流程设计、数据库设计和功能模块实现的学习,使读者深入掌握Java面向对象的编程的精髓,能够独立开发简单的Java程序应用系统。本章重点内容如下: 模块功能分析 系统流程分析 数据库设计 各模块实现1 系统分析1.1需求分析在当今这个知识经济时代,知识的大爆炸带来了图书业的大发展,图书数量的急剧增加,但是书籍的增多也给图书管理带来了很大不便,图书管理系统开发的目的就是要解决图书管理的问题。本系统需要实现图书管理系统的基本功能。该系统能够对读者和图书进行管理,对借书和还书进行管理。在对用户操作时,操作者可以依据用户编号或姓名进行用户管理;对图书操作时,操作者可以依据图书序列号或图书名对图书进行管理。该系统会提高图书管理工作者的工作效率和工作能力,减少工作人员的出错率,减少读者的借阅时间,让其把更多的时间用在选择书和看书上。图书管理系统需要具备以下主要功能: 用户管理:将用户信息存储于系统中,管理员可以管理用户,如查询用户、添加新用户、修改和删除用户等; 书籍管理:将图书信息存储于系统中,管理员可以添加新书、修改错误书和删除不存在的书,并可以查阅图书被借阅的情况; 借阅管理:管理员帮用户操作借书、还书,并可以查询用户借阅图书的情况;1.2 可行性分析以前,图书馆采用手工方式对图书借阅信息进行管理,将借阅情况记录在借书证上,将图书数目和内容记录在文件中,这样,随着资料的增多,时间的增长,再查询时,就需要在众多的资料中查找,即费时又费力,手工操作使得图书借阅信息的管理工作混乱而复杂。基于以上问题,开发一个智能化的、操作简单、使用方便的图书管理系统是非常有必要的。图书管理系统使图书管理工作规范化、系统化、程序化,避免手工管理的繁琐工作,减少出错的概率,提高信息处理的速度和准确性。图书管理系统是一个典型的数据库应用系统,主要涉及数据读写和数据的传递,利用Eclipse工具,采用Java语言进行开发不存在技术方面的问题。1.3 开发及运行环境分析硬件平台: CPU:P1.60GHz; 内存:512M以上;软件平台: 操作系统:Windows 2000/Windows XP/Windows 2003/Windows 2008; 数据库:SQL Server 2005; 开发工具:JDK 1.6.0 MyEclipse8.0;2 系统设计目前开发系统常用的技术架构主要有两类:C/S(Client/Server)模式和B/S(Browser/Server)模式。C/S模式就是客户机/服务器模式。在这种模式下,可以充分利用客户机和服务器的硬件环境优势,将任务合理分配到客户机端和服务器端来实现,降低了系统的通讯开销。在C/S模式下,应用服务器运行数据负荷较轻,但是C/S模式的劣势是高昂的维护成本,且投资大。B/S模式就是浏览器/服务器模式。在Browser/Server模式下,用户主要通过客户端浏览器,浏览系统的工作界面,极少部分事务在浏览器端(Browser)实现,主要事务在服务器端(Server)实现。Browser/Server模式通过Internet进行通信,不受地域的限制,减轻了系统维护与升级的成本和工作量。图书借阅管理系统属于图书馆内部的一种管理系统,通过内部网络处理和交换信息,C/S(Client/Server)模式采用发放结构、解决数据库共享问题,本例采用C/S模式,客户端运行Java客户端程序,服务器端运行Java服务器端程序如图1所示。Java客户端程序Java服务器端程序客户端服务器端图1 系统运行总体结构2.1 系统流程系统图书借阅流程如图2所示。图2 系统图书借阅流程图借书过程如下。(1)用户将图书和借阅卡(或卡号)交给管理人员;(2)管理人员将图书和借阅卡上的号码输入系统;(3)系统依据借阅卡号作为借阅条件进行查找;(4)若查找到该用户,则依据图书编码查找图书;(5)若查找到该图书,则予以借出。还书过程如下。(1)用户将图书和借阅卡(或卡号)交给管理人员;(2)管理人员将图书和借阅卡上的号码输入系统;(3)系统依据图书编码作为查询条件进行查找;(4)若查找到该图书被借阅记录,则正常归还图书,并记录还书时间。2.2 模块功能结构分析根据系统的设计要求,图书管理系统实现了五个完整的功能。根据这些功能要求,设计的系统功能模块如图3所示。图3 系统功能模块该系统需要添加图书、修改图书、删除图书、添加用户、修改用户、删除用户、借阅图书、归还图书和查阅图书等过程。图书管理系统各模块功能要求分析如下:用户登录要求该模块实现对管理员用户登录的验证、标识,为用户对系统的操作提供授权依据,在这一模块中,首先要求管理员输入自己的登录用户名和登录密码,然后系统对用户名和密码进行验证,判断用户的身份。用户管理要求由于用户众多,为了方便每个用户借阅,该系统需要存储每个用户的基本信息,以便用户借书时通过用户名从数据库中快速调出用户信息,用户基本信息包括用户名、姓名、密码、学院、专业、年级等,管理员可以添加新用户、查询拥护、修改用户和删除用户图书管理要求为了方便书籍的管理,需要把每本书的相关信息添加到数据库,以便通过书号从数据库中快速调出用户信息,图书基本信息包括书号、作者、出版社、出版年月等,管理员可以添加图书、查询图书、修改图书和删除图书。借阅管理要求通过本系统,图书管理员可以进行图书借阅登记和图书归还登记,并可以查询图书被借阅的情况。3 数据库设计图书借阅系统不仅要求数据库功能强大,而且要有很好的安全保障机制。SQL server数据库是当前应用最为广泛的数据库,它可以很好的支持各种信息,而且具有较高的数据安全保障,是一般公司、企业首选的数据库之一,本系统采用SQL server数据库。3.1 E-R图E-R图为实体-联系图,提供了表示实体型、属性和联系的方法,用来描述现实世界的概念模型。构成E-R图的基本要素是实体型、属性和联系,其表示方法为: 实体型(Entity):用矩形表示,矩形框内写明实体名,比如在本系统中数据库的实体为用户和书籍等。 属性(Attribute):用椭圆形表示,并用无向边将其与相应的实体连接起来,比如书籍的作者、出版社和书号等。 联系(Relationship):用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1 : 1,1 : n或m : n)。比如图书和借阅的关系就是1:N的关系,一本书可能被多次借阅。本系统所用到的数据库表的E-R图如图4所示。UserBorrowBook借阅/归还包含ID用户名姓名密码1NIDID借阅日期书号归还日期用户名说明出版日期出版社作者书名N1图4 数据库E-R图3.2 数据表结构分析根据系统的设计要求和模块功能,进行数据库的分析和设计。本节,将介绍图书管理系统所用到的数据库结构。从以上分析可知,系统拥有图书管理员、用户(读者)、图书等实体。在数据库中,可以使用表描述这些实体。另外还需要存储图书借阅记录,也需要用表来表示,这些表的名称以及表的说明如下。 管理员表Admin; 用户(读者)表Users; 图书表Book; 借阅表Lendbook。这些表之间存在一定的关联关系。具体的关联关系如下所示: 读者可以借阅、归还图书;读者借阅的图书保存在借阅表Lendbook中。读者表Users和借阅表Lendbook通过读者序号进行关联; 图书表Book和借阅表Lendbook可以通过图书序号进行关联; 图书管理员可以对图书进行借阅和归还管理。图书管理员表Admin和借阅表Lendbook可以通过图书管理员序号进行关联;这些表的详细信息介绍如下。1管理员表Admin管理员表Admin用来保存管理员用户信息,结构如表1所示。表1 管理员表Admin字段名称数据类型说明ID自动编号管理员序号num文本管理员用户名,主键name文本管理员姓名password文本管理员密码remark文本说明2图书用户表users图书用户表users用来保存图书用户信息,结构如表2所示。表2 图书用户表user字段名称数据类型说明ID自动编号读者序号number文本读者用户名,主键name文本读者姓名password文本读者密码college文本读者学院subject文本读者年级grade文本读者专业remark文本说明3图书表Book图书表book用来保存图书信息,结构如表3所示。表3 图书表book字段名称数据类型说明ID自动编号图书序号number文本图书编号,主键bookname文本图书名称publish文本出版社author文本作者isbn数字国际统一编号price文本定价lend文本是否借出。4借阅表Lendbook借阅表Lendbook用来保存读者借阅信息,结构如表4所示。表4 借阅表borrow字段名称数据类型说明ID自动编号借阅序号,主键bnumber文本图书编号unumber文本借阅者用户名。lendtime文本借书时间Returntime1文本应还书时间Returntime2文本还书时间breturn文本是否归还4 连接数据库模块系统所需要的信息都存储在数据库中,例如图书信息、读者信息、借阅信息等,要对这些信息进行操作,就必须连接数据库,为了省去每次操作都要编写连接数据库程序,我们把连接数据库操作封装到一个类jdbcfile.java中,在不同的模块中调用这个类就可以对数据库进行连接,执行相应的数据库操作,这样使得连接数据库安全高效,程序代码简洁清晰,也符合Java面向对象的思想。连接数据库类jdbcfile.java的代码如下:1 import java.sql.*;由于类中要用到java.sql包中的类,因此这里首先要引入包。2 public class jdbcfile 3 /声明变量4 Connection conn;5 Statement stmt;6 int inorupdatevalue=-1;以上代码用于声明类中所使用到的变量。7 /声明构造方法,并抛出异常8 public jdbcfile() throws Exception9 try10 String drivername=com.microsoft.sqlserver.jdbc.SQLServerDriver;11 String dbURL = jdbc:sqlserver:/localhost:1489; DatabaseName=book;12 /加载驱动程序13 Class.forName(drivername);14 /创建数据库连接Connection对象15 conn=DriverManager.getConnection(dbURL, sa, 123);16 /创建Statement对象17 stmt=conn.createStatement();18 catch(ClassNotFoundException e)19 /捕获异常20 throw new Exception(数据库驱动未找到+e.getMessage(); 21 catch(SQLException e)22 /捕获异常23 throw new Exception(数据库未连接+e.getMessage(); 24 25 以上代码用于连接数据库,首先,第13行加载数据库驱动程序,然后,第15行创建一个数据库连接,为执行SQL语句,第17行创建一个Statement对象,由于在连接数据库时可能产生异常,因此,在第18行和21行分别捕获异常。26 /定义查询数据的方法27 public synchronized ResultSet executeQuery(String sql) throws Exception28 ResultSet rs=stmt.executeQuery(sql);29 return rs;30 31 /定义插入数据的方法32 public synchronized int insert(String sql) throws Exception 33 inorupdatevalue=stmt.executeUpdate(sql);34 return inorupdatevalue;35 36 /定义修改数据的方法37 public synchronized int update(String sql) throws Exception 38 inorupdatevalue=stmt.executeUpdate(sql);39 return inorupdatevalue;40 41 /定义删除数据的方法42 public synchronized int del(String sql) throws Exception 43 inorupdatevalue=stmt.executeUpdate(sql);44 return inorupdatevalue;45 46 /定义关闭数据库连接的方法47 public void close() throws Exception48 conn.close();49 以上代码用于定义查询数据、插入数据、修改数据、删除数据和关闭数据库连接的方法,插入修改和删除使用的是同一个方法executeUpdate(),也可以只定义一个方法,这里为了表达清楚,使读者容易理解,定义了以上三个方法。50 5 管理登录模块为保证系统的完全性,只有管理员才可以对系统进行操作,因此,需要对用户登录信息进行验证,管理员的用户名和密码存放在数据库中,通过文本框获得用户输入的用户名和密码,然后与数据库中的用户名和密码进行比较,如果匹配,则进入系统,否则提示用户名和密码不正确。5.1 管理登录界面管理登录界面主要用于输入用户名和密码,以便与数据库中的用户名和密码进行比较,界面主要包括两个标签、文本框和两个按钮,如图5所示。图5 管理登录界面5.2 管理登录技术实现1图形用户界面的具体实现1 import java.awt.*;2 import java.awt.event.*;3 import java.sql.*;4 import javax.swing.*;以上代码用于导入以下程序所用到的包。5 public class Login extends JFrame6 /声明标签、按钮、文本框和密码框7 private JLabel JLb1;8 private JLabel JLb2; 9 private JButton Ok_btn;10 private JButton Cancel_btn;11 private JTextField jtflduser;12 private JPasswordField jtpwdfld;13 /声明窗口14 private JFrame frame;15 /构造方法16 public Login()17 frame=new JFrame(登录);18 Container content=frame.getContentPane();19 /采用GridLayout布局管理器20 content.setLayout(new GridLayout(3,2,20,20);21 JLb1=new JLabel(用户名);22 JLb2=new JLabel(密 码);23 /将标签置于居中位置24 JLb1.setHorizontalAlignment(SwingConstants.CENTER);25 JLb2.setHorizontalAlignment(SwingConstants.CENTER);26 jtflduser=new JTextField();27 jtpwdfld=new JPasswordField();28 Ok_btn=new JButton(确定);29 Cancel_btn=new JButton(取消);30 /为按钮增加事件监听者31 Ok_btn.addActionListener(new ActionHandler();32 Cancel_btn.addActionListener(new ActionHandler();33 /添加标签、文本框和密码框到窗口34 content.add(JLb1);35 content.add(jtflduser);36 content.add(JLb2);37 content.add(jtpwdfld);38 content.add(Ok_btn);39 content.add(Cancel_btn);40 frame.pack();41 /设定登录窗口启动时出现在屏幕中央位置42 frame.setLocationRelativeTo(null);43 frame.setSize(300,200);44 frame.setVisible(true);45 /Login() methodLogin类继承了JFrame,因此可以显示,在Login类中,首先声明标签、按钮、文本框、密码框和一个JFrame窗口,然后通过构造方法创建标签、按钮、文本框、密码框,并添加到窗口容器中,最后设置窗口的大小和可见性。在程序的第31和32行,为按钮注册事件监听者,当单击按钮时产生事件。2处理监听者事件当单击按钮时产生按钮单击事件,按钮把事件对象传递给监听者,事件监听者要监听到该事件,就要在程序中加入一个能够“听到”该事件的接口,实现这个接口并处理监听到的事件。46 /*47 *实现ActionListener监听,激活组件响应48 */49 class ActionHandler implements ActionListener50 public void actionPerformed(ActionEvent e)51 String str1,str2,sqlStr;52 Object obj=e.getSource();53 /获得文本框和密码框的数据54 str1=jtflduser.getText().trim();55 str2=new String(jtpwdfld.getPassword().trim();56 try57 /点击确定按钮58 if(obj.equals(Ok_btn)59 if(str1.equals()60 JOptionPane.showMessageDialog(frame,用户名不能为空!);61 return;62 63 /创建数据库连接64 jdbcfile conn=new jdbcfile();65 /产生登录sql语句66 sqlStr=select * from Admin where num=+str1+and password=+str2+;67 ResultSet result=conn.executeQuery(sqlStr);68 if(result.next()69 /弹出对话框提示登录成功70 JOptionPane.showMessageDialog(frame,登录成功!);71 /打开图书管理主页面72 bookmain bookmain1=new bookmain();73 bookmain1.go();74 /关闭登录窗口75 frame.dispose();76 /关闭数据库连接77 conn.close();78 else79 JOptionPane.showMessageDialog(frame,用户名或密码错误);80 81 82 else if(obj.equals(Cancel_btn)83 /点击取消按钮84 System.exit(0);85 86 catch(ClassNotFoundException ce)87 /捕获异常88 System.out.println(SQLException:+ce.getMessage();89 90 catch(SQLException ex)91 /捕获异常92 System.out.println(ex);93 94 catch (Exception s) 95 /捕获异常96 s.printStackTrace();97 98 99 /class ActionHandler 以上代码定义一个ActionHandler类实现ActionListener接口,系统监听到事件并进行响应的步骤如下:(1)获得输入的用户名和密码(2)判断监听的对象是“确定”按钮还是“取消”按钮(3)如果是“确定”按钮,判断用户名是否为空,如果是空,则弹出信息提示对话框,如果不是空,则执行以下步骤(4)-(6)。(4)第64行通过类jdbcfile创建数据库连接,第66行创建SQL语句,第67行查询数据库,并得到查询结果。(5)如果查询结果不为空,提示登录成功,并打开图书管理主页面。(6)关闭登录窗口和数据库连接,如果查询结果为空,则弹出消息提示对话框。(7)如果监听到的是“取消”按钮,则关闭登录窗口。注意在连接数据库和查询数据库的过程中,可能会产生异常,因此要捕获异常。3主函数的实现在主函数中创建了一个Login类对象,用于产生系统登录界面。100 public static void main(String args)101 Login login=new Login();102 /main103 6 系统主界面模块系统主界面也就是登录后进入的第一个浏览界面,这也是图书管理系统的主要模块,在主页面中应该包括系统各模块的连接,通过主页面可以打开任何一个功能模块,实现各种不同的功能。6.1 系统主界面在系统主界面中,包括一个菜单栏,菜单栏中加入了4个菜单:用户管理、借阅管理、图书管理和退出系统,系统的各功能模块作为一个菜单项被添加到不同的菜单中。主界面如图6所示。图6 系统主界面6.2 系统主界面技术实现1图形用户界面的具体实现1 import java.awt.*;2 import java.awt.event.*;3 import javax.swing.*;以上代码用于导入以下程序所用到的包。4 public class bookmain extends JFrame 5 /声明面板容器和标签6 private JPanel jp1=new JPanel();7 private JLabel label1;8 BorderLayout borderLayout1 = new BorderLayout();9 /创建菜单栏10 JMenuBar jMenuBar1 = new JMenuBar();11 /创建菜单12 JMenu jMenu1 = new JMenu();13 JMenu jMenu2 = new JMenu();14 JMenu jMenu3 = new JMenu();15 JMenu jMenu4 = new JMenu();16 /创建菜单选项17 JMenuItem jMenuItem1 = new JMenuItem();18 JMenuItem jMenuItem2 = new JMenuItem();19 JMenuItem jMenuItem3 = new JMenuItem();20 JMenuItem jMenuItem4 = new JMenuItem(); 21 JMenuItem jMenuItem5 = new JMenuItem();22 JMenuItem jMenuItem6 = new JMenuItem(); 23 JMenuItem jMenuItem7 = new JMenuItem();24 JMenuItem jMenuItem8 = new JMenuItem();25 JMenuItem jMenuItem9 = new JMenuItem();26 JMenuItem jMenuItem10 = new JMenuItem();27 JMenuItem jMenuItem11 = new JMenuItem();28 JMenuItem jMenuItem12 = new JMenuItem();29 /方法30 public void go()31 /设置窗口容器的布局管理器32 this.getContentPane().setLayout(borderLayout1);33 /设置窗口的大小和标题34 this.setSize(new Dimension(300, 200);35 this.setTitle(图书借阅系统);36 label1=new JLabel(XX图书管理信息系统);37 /加入菜单栏38 this.setJMenuBar (jMenuBar1);39 /设置菜单和菜单项的名称40 jMenu1.setText(用户管理); 41 jMenuItem1.setText(添加用户);42 jMenuItem2.setText(修改用户);43 jMenuItem3.setText(删除用户);44 jMenuItem4.setText(查询用户);45 jMenu2.setText(借阅管理); 46 jMenuItem5.setText(借阅图书);47 jMenuItem6.setText(归还图书);48 jMenuItem7.setText(借阅查询);49 jMenu3.setText(图书管理);50 jMenuItem8.setText(添加图书);51 jMenuItem9.setText(修改图书);52 jMenuItem10.setText(删除图书);53 jMenuItem11.setText(查询图书);54 jMenuItem12.setText(退出系统);55 jMenu4.setText(退出);56 /菜单栏里的菜单57 jMenuBar1.add(jMenu1);58 jMenuBar1.add(jMenu2);59 jMenuBar1.add(jMenu3);60 jMenuBar1.add(jMenu4);61 /文件菜单里的菜单项62 jMenu1.add(jMenuItem1);63 jMenu1.add(jMenuItem2);64 jMenu1.add(jMenuItem3);65 jMenu1.add(jMenuItem4);66 jMenu2.add(jMenuItem5);67 jMenu2.add(jMenuItem6);68 jMenu2.add(jMenuItem7);69 jMenu3.add(jMenuItem8);70 jMenu3.add(jMenuItem9);71 jMenu3.add(jMenuItem10);72 jMenu3.add(jMenuItem11);73 jMenu4.add(jMenuItem12);bookmain类继承了JFrame,因此可以显示,在bookmain类中,定义了1个菜单栏、4个菜单和12个菜单项,在类中没有定义构造方法,而是定义了一个方法go(),通过此方法设置窗口的布局管理器、窗口的大小和标题,将菜单项加入个自的菜单中,把菜单加入到菜单栏中,并将菜单栏加入到窗口中。2给菜单项添加事件监听者,并处理监听者事件当单击菜单时产生单击事件,菜单把事件对象传递给监听者,事件监听者要监听到该事件,就要在程序中加入一个能够“听到”该事件的接口,实现这个接口并处理监听到的事件。74 /监听者对象注册给jMenuItem175 jMenuItem1.addActionListener(new ActionListener()76 public void actionPerformed(ActionEvent e)77 78 /将添加用户管理面板添加到jp1中,并显示出来79 addusers addusers1=new addusers();80 jp1.add(addusers1,添加用户信息);81 CardLayout c1=(CardLayout)jp1.getLayout();82 c1.show(jp1, 添加用户信息);83 84 );85 /监听者对象注册给jMenuItem286 jMenuItem2.addActionListener(new ActionListener()87 public void actionPerformed(ActionEvent e)88 89 /将修改用户管理面板添加到jp1中,并显示出来90 updateusers updateusers1=new updateusers();91 jp1.add(updateusers1,修改用户信息);92 CardLayout c1=(CardLayout)jp1.getLayout();93 c1.show(jp1, 修改用户信息);94 95 );96 /监听者对象注册给jMenuItem397 jMenuItem3.addActionListener(new ActionListener()98 public void actionPerformed(ActionEvent e)99 100 /将删除用户管理面板添加到jp1中,并显示出来101 delusers delusers1=new delusers();102 jp1.add(delusers1,删除用户信息);103 CardLayout c1=(CardLayout)jp1.getLayout();104 c1.show(jp1, 删除用户信息);105 106 );107 /监听者对象注册给jMenuItem4108 jMenuItem4.addActionListener(new ActionListener()109 public void actionPerformed(ActionEvent e)110 111 /将查询用户管理面板添加到jp1中,并显示出来112 searchuser searchuser1=new searchuser();113 jp1.add(searchuser1,查询用户信息);114 CardLayout c1=(CardLayout)jp1.getLayout();115 c1.show(jp1, 查询用户信息);116 117 );118 /监听者对象注册给jMenuItem5119 jMenuItem5.addActionListener(new ActionListener()120 public void actionPerformed(ActionEvent e)121 122 /将借阅图书管理面板添加到jp1中,并显示出来123 lendbook lendbook1=new lendbook();124 jp1.add(lendbook1,借阅图书信息);125 CardLayout c1=(CardLayout)jp1.getLayout();126 c1.show(jp1, 借阅图书信息);127 128 );129 /监听者对象注册给jMenuItem6130 jMenuItem6.addActionListener(new ActionListener()131 public void actionPerformed(ActionEvent e)132 133 /将归还图书管理面板添加到jp1中,并显示出来134 returnbook returnbook1=new returnbook();135 jp1.add(returnbook1,归还图书信息);136 CardLayout c1=(CardLayout)jp1.getLayout();137 c1.show(jp1, 归还图书信息);138 139 );140 /监听者对象注册给jMenuItem7141 jMenuItem7.addActionListener(new ActionListener()142 public void actionPerformed(ActionEvent e)143 144 /将借阅查询管理面板添加到jp1中,并显示出来145 searchlend searchlend1=new searchlend();146 jp1.add(searchlend1,借阅查询信息);147 CardLayout c1=(CardLayout)jp1.getLayout();148 c1.show(jp1, 借阅查询信息);149 150 );151 /监听者对象注册给jMenuItem8152 jMenuItem8.addActionListener(new ActionListener()153 public void actionPerformed(ActionEvent e)154 155 /将添加图书管理面板添加到jp1中,并显示出来156 addbook addbook1=new addbook();157 jp1.add(addbook1,添加图书信息);158 CardLayout c1=(CardLayout)jp1.getLayout();159 c1.show(jp1, 添加图书信息);160 161 );162 /监听者对象注册给jMenuItem9163 jMenuItem9.addActionListener(new ActionListener()164 public void actionPerformed(ActionEvent e)165 166 /将修改图书管理面板添加到jp1中,并显示出来167 updatebook updatebook1=new updatebook();168 jp1.add(updatebook1,修改图书信息);169 CardLayout c1=(CardLayout)jp1.getLayout();170 c1.show(jp1, 修改图书信息);171 172 );173 /监听者对象注册给jMenuItem10174 jMenuItem10.addActionListener(new ActionListener()175 public void actionPerformed(ActionEvent e)176 177 /将删除图书管理面板添加到jp1中,并显示出来178 delbook delbook1=new delbook();179 jp1.add(delbook1,删除图书信息);180 CardLayout c1=(CardLayout)jp1.getLayout();181 c1.show(jp1, 删除图书信息);182 183 );184 /监听者对象注册给jMenuItem11185 jMenuItem11.addActionListener(new ActionListener()186 public void actionPerformed(ActionEvent e)187 188 /将查询图书管理面板添加到jp1中,并显示出来189 searchbook searchbook1=new searchbook();190 jp1.add(searchbook1,查询图书信息);191 CardLayout c1=(CardLayout)jp1.getLayout();192 c1.show(jp1, 查询图书信息);193 194 );195 jMenuItem12.addActionListener(new java.awt.event.ActionListener()196 public void actionPerformed(ActionEvent e) 197 System.exit(0);298 299 );200 /设置JPanel的布局管理器201 CardLayout cardlayout=new CardLayout();202 j
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030二手车交易平台运营模式与市场渗透率分析报告
- 河北省沧州任丘市2026届化学九上期中预测试题含解析
- 2026届四川省广安市岳池县化学九年级第一学期期末联考试题含解析
- 安徽省淮北市杜集区2025届八年级物理第一学期期末质量检测模拟试题含解析
- 安徽省涡阳县2026届英语九上期末学业质量监测试题含解析
- 外企在华员工薪酬保密及福利保障合同
- 广西贵港市覃塘三中学2026届九年级化学第一学期期中学业质量监测试题含解析
- 活动策划专员工作总结
- 气管切开的患者如何护理
- 护理人的初心和使命
- 储罐区的安全题库及答案解析
- 交大入党测试题及答案
- 培训如何开早会的课件
- 2025年河北沧州市中心医院、沧州博施康养集团公开招聘辅助岗工作人员113名考试参考试题及答案解析
- 消防员抗洪抢险知识培训课件
- 历年时事政治试题及答案
- 摄像基础培训课件
- 低钾血症课件
- 志愿者个人汇报
- 2025年西安银行竞聘面试题目及答案
- 《跨境电商(B2C)操作实务》高职跨境电商全套教学课件
评论
0/150
提交评论