数据库系统实验报告图书馆管理系统

上传人:沈*** 文档编号:107306386 上传时间:2022-06-14 格式:DOC 页数:21 大小:92KB
收藏 版权申诉 举报 下载
数据库系统实验报告图书馆管理系统_第1页
第1页 / 共21页
数据库系统实验报告图书馆管理系统_第2页
第2页 / 共21页
数据库系统实验报告图书馆管理系统_第3页
第3页 / 共21页
资源描述:

《数据库系统实验报告图书馆管理系统》由会员分享,可在线阅读,更多相关《数据库系统实验报告图书馆管理系统(21页珍藏版)》请在装配图网上搜索。

1、科技大学数学与计算科学学院数据库系统课 程 设 计 课程设计题目:图书馆管理系统 指导教师:*芳 学生院系: 数学学院 学生班级:信计*班 学生:黎*文 学生*:14070204*目录一、任务书1二、相关技术与环境介绍2三、需求分析2四、概念构造设计3五、逻辑构造设计5六、数据库实施66.1 数据库的建立和表空间的建立66. 2 数据库用户的建立76.3 java前端编程86.3.4 功能完善13七、系统测试方案和测试报告13八、系统的主要功能和使用说明148.1 功能说明:148.2 使用说明148.3 图书管理系统数据库平安:15九.系统安装说明159.1 数据库的安装159.2 java

2、前端程序的安装15十.课程设计心得1510.1 实验心得1610.2 总结16一.任务书1.题目:图书馆管理系统2. 容及要求: 1创立数据库存储信息 2开发java前端程序,使用数据库。 3具有实际应用价值3.实验成员分工:黎*文:主要负责物理构造,数据库实施,数据库与前端的连接处理操作。*杰:主要负责系统界面、概念与逻辑构造的设计,并进展维护调试。二.相关技术与环境介绍开发工具:oracle 11g,Eclipse 4.5开发语言:Java开发环境:JDK 1.8运行环境:Windows 10 其他辅助工具:PowerDesigner165,edrawma*核心技术:JOBC对数据库的操作

3、,java操作界面的设计,各种布局方式和插件 1使用JFrame控件进展界面设计 2使用静态字段实现窗体间的数据传递 3使用代码方式向容器控件中添加控件 4数据库连接和前台操作 5数据库和开发工具之间的编码转换三.需求分析图书馆管理系统是一个高度集成的图书信息处理系统,通过将图书馆的各种功能进展整合,从而到达显示检索信息,提高工作效率,降低管理本钱等目的。一个典型的图书馆管理系统应该能够管理所有的图书种类,图书信息以及读者信息,还需要提供各种图书信息的检索查询功能。该系统还需要能够对图书的借阅,归还进展管理,并对读者的罚款进展自动计算。通过该系统的自动化管理,能够大大减少图书馆管理人员,还能减

4、少管理人员的工作任务,从而降低管理开销和本钱。一个完整的图书馆管理系统包括前台和后台,前台主要是显示在计算机屏幕上的显示界面,有各种指令按钮,操作框以及文本框,后台主要是为前台的一些操作提供一些必要的数据,也就是一个相对于系统比拟完整的数据库,操作员以及各类图书的信息,借书者的信息等等。此次的图书馆管理系统有如下几个重要功能:1管理员可以方便进展图书管理,用户管理,管理员管理。图书管理包括图书信息以及图书分类的添加,修改,删除。用户管理包括用户信息的添加,删除,修改。管理员管理包括管理员信息的添加,删除,修改等。2管理员可以修改自己的以及用户密码,修改前需先核实自己的原始密码。3实现模糊查询,

5、使用户得到更多的相关记录。并且考虑使用的方便性,一些经常使用的输入无须用户输入,比方进展图书查询时图书分类只须用户做选择就可以。4如果出现超期未还的情况,能够就做出记录,并作出相应处分处理。四.概念构造设计4.1 E-R图的设计(1) 学生E-R图: 学 号姓 名借书权限年 龄联系方式学 生性 别登录密码专 业2管理员E-R图:权 限管理员密 码名 称3:图书E-R图:名 称购置时间图 书是否预约作 者书 号是否借阅4数据库关系图:管 理M学生用户N管理员管 理N管 理MNMM图 书N1N管 理管 理1管 理1超级管理员5系统逻辑图:4 .2 数据库的设计(1) 建立orcl数据库(2) 建立

6、LIBRARYTEST表空间(3) 在表空间中建立用户libadmin,进展权限的设置,为最高权限(4) 登录libadmin用户,创立libstudent用户,只具有查询的权限(5) 根据4.1中4图建立7个表。五.逻辑构造设计1 . 图书BOOK的逻辑构造: 2. 超期图书ECEEDTIME:3. 丧失图书LOSERBOOK: 4. 管理员权限表MSANAGER:5. 预约图书:6. 借阅记录:7. 学生用户:以上为各种表的逻辑构造。六.数据库实施6.1 数据库的建立和表空间的建立 直接在oracle数据库OEM 企业管理其中直接操作。界面化操作省略。6. 2数据库用户的建立1/创立lib

7、admin用户:conn system /Kyq020520 /登录system 超级用户create user libadminidentified by 123456default tablespace LIBRARYTESTgrant create session,resource to libadmingrant create user,resource to libadmin 2/创立libstudent用户conn system /Kyq020520 /登录libadmin 用户create user libstudentidentified by 123456default ta

8、blespace LIBRARYTESTgrant create session,resource to libstudent3 局部权限分配GRANT ALTER ON LIBRARYTEST.BOOK TO LIBADMIN WITH GRANT OPTIONGRANT DELETE ON LIBRARYTEST.BOOK TO LIBADMIN WITH GRANT OPTIONGRANT INDE* ON LIBRARYTEST.BOOK TO LIBADMIN WITH GRANT OPTIONGRANT INSERT ON LIBRARYTEST.BOOK TO LIBADMIN

9、WITH GRANT OPTIONGRANT REFERENCES ON LIBRARYTEST.BOOK TO LIBADMIN WITH GRANT OPTIONGRANT SELECT ON LIBRARYTEST.BOOK TO LIBADMIN WITH GRANT OPTIONGRANT UPDATE ON LIBRARYTEST.BOOK TO LIBADMIN WITH GRANT OPTION4初始数据的插入 给出一个学生表的建立和插入代码:create table student( StuNO int primary key, StuName varchar(50), St

10、uAge int, StuSe* varchar(50), Class varchar(50), Department varchar(50), Tel char(11), Permitted varchar(50), Password varchar(20);insert into student values(10001,小诗,20,女,计算机1班,计算机系,2592921,是,number1);insert into student values(10002,飞,21,女,计算机1班,计算机系,是,number2);insert into student values(10003,亚,2

11、0,男,计算机1班,计算机系,是,number3);insert into student values(10004,何二,22,男,计算机1班,计算机系,2568975,是,number4);insert into student values(10005,唐雨,21,女,计算机1班,计算机系,是,number5);insert into student values(10006,宋江,20,男,计算机2班,计算机系,1234667,是,number6);6.3 java前端编程6.3.1 数据库连接类DataBase:package .listen;import java*.swing.*

12、;import java.sql.*;public class DataBaseConnection con=null;/声明Connection引用Statement stat;ResultSet rs;int count;String sql;public static String message;/声明一个静态成员变量public static Login log;public DataBase(String user,String passWord)try/加载orac的驱动类,并创立数据库连接 Class.forName(oracle.jdbc.driver.OracleDrive

13、r); con = DriverManager.getConnection(jdbc:oracle:thin: + 127.0.0.1:1521:orcl,user,passWord); stat=con.createStatement();/创立Statement对象catch(E*ception e)/如果从Login类传的参数不对,则提示出错 JOptionPane.showMessageDialog(log,用户IP或端口号错误!+信息,JOptionPane.INFORMATION_MESSAGE);public void selectDb(String sql)/声明select方

14、法tryrs=stat.e*ecuteQuery(sql);catch(E*ception ie)ie.printStackTrace();public int updateDb(String sql)/声明update方法try/因为oracle数据库的默认编码方式是gbk,而eclipse的默认编码方式也是gbk,所以不存在转码问题/sql = new String(sql.getBytes(),ISO-8859-1);/转码/sql = new String(sql.getBytes(),UTF-8);count=stat.e*ecuteUpdate(sql);catch(E*cepti

15、on ie)ie.printStackTrace();return count;public void dbClose()/声明close方法trycon.close();catch(E*ception e)e.printStackTrace();public static void main(String args) DataBase app = new DataBase(libadmin, Kyq020520); try app.rs = app.stat.e*ecuteQuery(select * from STUDENT);while (app.rs.ne*t() /转化数据类型 Sy

16、stem.out.print(app.rs.getString(STUNO) + ); System.out.println(app.rs.getString(STUNAME) + ); catch (SQLE*ception e) / TODO Auto-generated catch blocke.printStackTrace()6.3.2 登录界面的设计 登陆窗体的界面设计我依然采用的是比拟传统的方法,新建一个类BookLoginFrame类,用来显示登录窗体。在该窗体中需要使用到四类控件,分别是JLabel、JTe*tFieid、JPasswordField以及utton。其中控件J

17、Label是用来显示顶部的图片以及标签文本;控件JTe*tFieid用来接收用户名输入信息;控件JPasswordField用来接收密码输入信息;控件utton用来创立登陆和重置按钮。定义一个Login类。设计结果如下:6.3.3 管理员操作界面 在主窗体中可以显示其他功能窗体,所以需要在该窗体中参加一个桌面窗体。通过将其他功能窗体参加到该窗体中。从而实现多窗体显。同时在主窗口体中,还需要添加一个main方法,该方法为系统入口的方法,通过执行该方法来执行系统。这儿给出他的构造函数:管理面界面操作构造函数:public Root(String mgNo) this.mgNo=mgNo;/获得管理

18、员ID mg=new Manager(mgNo);/创立管理员管理面板 this.setManager();/设置管理员权限 this.initJp();/初始化卡片布局面板 this.addTreeListener();/为树节点注册事件监听器 for(int i=1;i9;i+) /向根节点添加子节点 dtm.insertNodeInto(dmtni,dmtn0,i-1); jt.setEditable(false);/设置该树中节点是可编辑的this.add(jsplr);/将包含树的滚动窗口添加进窗体jsplr.setLeftponent(jt);/将包含树的滚动窗口添加进左边的子窗口

19、jp.setBounds(200,50,600,500);/为jp设置大小位置并添加进右边的子窗口jsplr.setRightponent(jp); jsplr.setDividerLocation(200);/设置分隔条的初始位置 jsplr.setDividerSize(4);/设置分隔条的宽度 jlRoot.setFont(new Font(Courier,Font.PLAIN,30);jlRoot.setHorizontalAlignment(JLabel.CENTER);jlRoot.setVerticalAlignment(JLabel.CENTER);/设置窗体的关闭动作,标题,

20、大小,位置及可见性this.setDefaultCloseOperation(JFrame.E*IT_ON_CLOSE); Image image=new ImageIcon(ico.gif).getImage(); this.setIconImage(image);this.setTitle(图书管理系统);/设置窗体首次出现的大小和位置-自动居中Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();int center*=screenSize.width/4;int centerY=screenSize.hei

21、ght/4;int w=800;/本窗体宽度int h=600;/本窗体高度/this.setBounds(center*,centerY,w,h);this.setBounds(center*-w/2,centerY-h/2-100,w,h);/设置窗体出现在屏幕中央this.setE*tendedState(JFrame.MA*IMIZED_BOTH);/窗体全屏this.setVisible(true);/设置窗体可见jt.setShowsRootHandles(true);/设置显示根节点的控制图标测试后界面如下:6.3.4 学生用户界面: 和管理员界面设计类类似,但是由于学生权限的限

22、制,所以学生用户局部功能不能使用,构造方法也是类似,简单给出构造函数。public StudentSystem() this.initJp(); jt.addTreeSelectionListener(new TreeSelectionListener()/用部类显示树的各选择节点public void valueChanged(TreeSelectionEvent e)DefaultMutableTreeNode cdmtn=(DefaultMutableTreeNode)e.getPath().getLastPathponent();NodeValue1v=(NodeValue1)cdmt

23、n.getUserObject();if(v.value.equals(学生用户管理系统)cl.show(jp,root);/显示主界面if(v.value.equals(查询图书)cl.show(jp,ts);/显示查询图书界面else if(v.value.equals(预约图书)cl.show(jp,OrderBook);/显示预约图书界面else if(v.value.equals(挂失图书)cl.show(jp,GuaShi);/显示归还挂失图书界面else if(v.value.equals(退出)/用选择菜单提示是否退出系统int i=JOptionPane.showConfir

24、mDialog(StudentSystem.this,是否退出系统,消息,JOptionPane.YES_NO_OPTION);if(i=JOptionPane.YES_OPTION)System.e*it(0); ; for(int i=1;idmtn.length;i+)/向根节点添加子节点 dtm.insertNodeInto(dmtni,dmtn0,i-1);jt.setEditable(false);/设置该树中节点是不可编辑的this.add(jsplr);/将包含树的滚动窗口添加进窗体jsplr.setLeftponent(jt);/将包含树的滚动窗口添加进左边的子窗口/为jp设

25、置大小位置并添加进右边的子窗口jp.setBounds(200,50,300,400);jsplr.setRightponent(jp); jsplr.setDividerLocation(150);/设置分隔条的初始位置 jsplr.setDividerSize(4); /设置分隔条的宽度 jlRoot.setFont(new Font(Courier,Font.PLAIN,30);jlRoot.setHorizontalAlignment(JLabel.CENTER);jlRoot.setVerticalAlignment(JLabel.CENTER);/设置窗体的关闭动作,标题,大小,位

26、置及可见性this.setDefaultCloseOperation(JFrame.E*IT_ON_CLOSE);/对标题和logo图片进展初始化 Image image=new ImageIcon(ico.gif).getImage(); this.setIconImage(image);this.setTitle(学生管理系统);/设置窗体首次出现的大小和位置-自动居中Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();int center*=screenSize.width/2;int centerY=sc

27、reenSize.height/2;int w=500;/本窗体宽度int h=400;/本窗体高度this.setBounds(center*-w/2,centerY-h/2-100,w,h);/设置窗体出现在屏幕中央this.setE*tendedState(JFrame.MA*IMIZED_BOTH);/窗体全屏this.setVisible(true);jt.setShowsRootHandles(true);/设置显示根节点的控制图标运行界面如下:6.4 功能完善 剩下还有10个类,分别实现上述菜单中的功能,在eclipse模块管理器中可以看出大概构造如下:七.系统测试方案和测试报告

28、 页面测试:逐个测试每个页面是否可以正确显示,显示页面是否美观,易懂,测试各菜单能否正常运行。经测试,所有界面均可以正确显示,显示页面比拟美观,易懂,各菜单均能正常运行。 功能测试:对每个菜单下的功能逐一测试,尽最大可能发现潜在的错误。经测试,每个菜单下的功能均能实现,暂未发现其潜在的错误。需求测试:根据需求分析的容,测试系统是否和当初的设计一样。经测试,所设计的图书馆管理系统根本满足当初的设计需求。 其他详情见辩论。八.系统的主要功能和使用说明8.1 功能说明: 8.1.1管理员的权限1有关读者种类标准的制定、种类信息的输入、包括种类编号、种类名称、借书数量、借书期限等。2读者有关信息的修改

29、、查询等。3读者根本信息的输入,包括读者编号、读者、班级、院系等。4读者根本信息的查询、修改5书籍信息的输入,包括书籍编号、书籍名称、书籍所属类别、作者、出版日期、在库数、价格。6借书信息包括借书证号、书籍编号、借出日期、拖欠日期、罚款种额7图书管理书籍号、管理员编号、销书数量、销书日期。8超级用户可以设置其他管理员,并登记到管理员表中。8.1.2 学生用户权限: 1学生能登录学生界面。并实现相应操作。 2查询图书的种类,及其各种信息,本系统不支持模糊查询。 3预约图书,对丧失的图书进展挂失登记。8.2 使用说明8.2.1 管理员使用流程: 1点击可执行文件。登录名为“1001默认为超级管理员

30、密码为“1001。2进入管理系统后即可更改超级管理员密码。然后设置其他管理员,并授予相应的权限。3以管理员用户登陆能使用以下所有功能:8.2.2 学生用户使用流程: 1 在管理员处由管理者自行设置进展注册登记。 2 在登录界面输入相应注册账号和密码即可登录。 3以学生用户登陆能使用以下所有功能:8.3 图书管理系统数据库平安: 8.3.1 数据库的转储和恢复 数据库的转储和恢复是系统正式运行后最重要的维护工作之一。要针对不同的应用要求制定不同的转储方案,以保证一旦发生故障能尽快将数据库恢复到*种一致的状态,并尽可能减少对数据库的破坏。 一周进展使用OEM对数据库进展备份。 8.3.2 数据库的

31、平安性和完整性。 各级环境数据库系统主管单位应保证以下平安保护措施的正常执行:1 环境数据库系统重要局部的冗余或备份措施。 2 计算机病毒防治措施。 3 网络攻击防、追踪措施。 4 环境数据库系统运行和用户操作日志记录保存60 日 以上措施。 5 记录环境数据库系统用户网络地址的措施。 6 环境数据库系统身份登记和识别确认措施。九.系统安装说明9.1 数据库的安装 9.1.1 下载并安装oracle数据库。 1登陆oracle官网下载 oracle 11g 2安装JDK1.8 3数据库管理的安装,并建立“ORCL 数据库实例。 9.1.2 创立用户和相应表 具体容见模块六9.2 java前端程

32、序的安装 翻开给出相应的“图书馆管理系统.jar文件,即可使用系统。十.课程设计心得10.1 实验心得1. 人机交互缺乏,对错误的抛出处理不当,考虑到的情况不够全面。2. 对于数据库的连接仅限于本机,无法实现联网工作,所以对于软件的可移植性不够。虽然用文件的方式操作能够解决这一问题,但是对于数据处理太繁琐。3. 对于系统设计方面的问题,一定要有方案和流程图,不能想一步做一步,最后会导致问题的处理不够全面。4. 应该该有一个良好的编码习惯,类的定义,方法的定义,一定要有一套规则,方便检查调试,使别人能够轻易地看懂。5. 套系统适用于比拟小型的图书馆,而且对管理员和学生的要求比拟高,需要对系统足够

33、了解之后才能正常使用。.10.2 总结 整个设计通过了软件和硬件上的调试。我想这对于自己以后的学习和工作都会有很大的帮助。在这次设计中遇到了很多实际性的问题,在实际设计中才发现,书本上理论性的东西与在实际运用中的还是有一定的出入的,所以有些问题不但要深入地理解,而且要不断地更正以前的错误思维。一切问题必须要靠自己一点一滴的解决,而在解决的过程当中你会发现自己在飞速的提升。对于图书馆管理系统,其程序是比拟简单的,主要是解决程序设计中的问题,而程序设计是一个很灵活的东西,它反映了你解决问题的逻辑思维和创新能力,它才是一个设计的灵魂所在。因此在整个设计过程局部时间是用在程序上面的。很多子程序是可以借

34、鉴书本上的,但怎样衔接各个子程序才是关键的问题所在。通过这次课程设计我也发现了自身存在的缺乏之处,虽然感觉理论上已经掌握,但在运用到实践的过程中仍有意想不到的困惑,经过一番努力才得以解决。这也激发了我今后努力学习的兴趣,我想这将对我以后的学习产生积极的影响。通过这次设计,我懂得了学习的重要性,了解到理论知识与实践相结合的重要意义,学会了坚持、耐心和努力,这将为自己今后的学习和工作做出了最好的典范。更重要的是如何把自己平时所学的东西应用到实际中。虽然自己对于这门课懂的并不多,很多根底的东西都还没有很好的掌握,觉得很难,也没有很有效的方法通过自身去理解,但是靠着这一个多礼拜的“学习,渐渐对这门课逐

35、渐产生了些许的兴趣,自己开场主动学习并逐步从根底慢慢开场弄懂它。附录:参考书 30天学通 java 工程案例开发 oracle数据库应用从入门到精通由于篇幅过多,只给出代码例如:详情请参照给出的源文件管理员页面 主类代码:package .listen;import java.awt.*;import java.awt.event.*;import java*.swing.event.*;import java*.swing.*;import java*.swing.tree.*;import java.io.*;public class Root e*tends JFrame/创立节点数组D

36、efaultMutableTreeNode dmtn=new DefaultMutableTreeNode(new NodeValue(图书馆管理系统), new DefaultMutableTreeNode(new NodeValue(学生用户管理), new DefaultMutableTreeNode(new NodeValue(图书管理), new DefaultMutableTreeNode(new NodeValue(查询图书), new DefaultMutableTreeNode(new NodeValue(借阅预约图书), new DefaultMutableTreeNode

37、(new NodeValue(归还挂失图书), new DefaultMutableTreeNode(new NodeValue(交纳罚款), new DefaultMutableTreeNode(new NodeValue(管理员管理), new DefaultMutableTreeNode(new NodeValue(退出); DefaultTreeModel dtm=new DefaultTreeModel(dmtn0);/创立树模型,指定根节点为学生管理系统 JTree jt=new JTree(dtm);/创立包含dtm树模型的JTree对象 JScrollPane jsp=new

38、JScrollPane(jt);/为JTree创立滚动窗体 private JSplitPane jsplr=new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,true);/创立分割窗体对象 private JPanel jp=new JPanel();/创立JPanel对象 Image image=new ImageIcon(tsgl.jpg).getImage(); ImageIcon ii = new ImageIcon(image); private JLabel jlRoot=new JLabel(ii); private Manager mg;/

39、登陆管理员名 String mgNo;/管理员IDCardLayout cl=new CardLayout();/获取卡片布局管理器引用 public Root(String mgNo) this.mgNo=mgNo;/获得管理员ID mg=new Manager(mgNo);/创立管理员管理面板 this.setManager();/设置管理员权限 this.initJp();/初始化卡片布局面板 this.addTreeListener();/为树节点注册事件监听器 for(int i=1;i9;i+) /向根节点添加子节点 dtm.insertNodeInto(dmtni,dmtn0,i

40、-1); jt.setEditable(false);/设置该树中节点是可编辑的this.add(jsplr);/将包含树的滚动窗口添加进窗体jsplr.setLeftponent(jt);/将包含树的滚动窗口添加进左边的子窗口jp.setBounds(200,50,600,500);/为jp设置大小位置并添加进右边的子窗口jsplr.setRightponent(jp); jsplr.setDividerLocation(200);/设置分隔条的初始位置 jsplr.setDividerSize(4);/设置分隔条的宽度 jlRoot.setFont(new Font(Courier,Fon

41、t.PLAIN,30);jlRoot.setHorizontalAlignment(JLabel.CENTER);jlRoot.setVerticalAlignment(JLabel.CENTER);/设置窗体的关闭动作,标题,大小,位置及可见性this.setDefaultCloseOperation(JFrame.E*IT_ON_CLOSE); Image image=new ImageIcon(ico.gif).getImage(); this.setIconImage(image);this.setTitle(图书管理系统);/设置窗体首次出现的大小和位置-自动居中Dimension

42、screenSize = Toolkit.getDefaultToolkit().getScreenSize();int center*=screenSize.width/4;int centerY=screenSize.height/4;int w=800;/本窗体宽度int h=600;/本窗体高度/this.setBounds(center*,centerY,w,h);this.setBounds(center*-w/2,centerY-h/2-100,w,h);/设置窗体出现在屏幕中央this.setE*tendedState(JFrame.MA*IMIZED_BOTH);/窗体全屏t

43、his.setVisible(true);/设置窗体可见jt.setShowsRootHandles(true);/设置显示根节点的控制图标 public void setManager()String sql=select permitted from manager where mgNo=+mgNo+;DataBase db=new DataBase(libadmin, Kyq020520);/创立数据库类对象db.selectDb(sql);/执行查询trydb.rs.ne*t();/结果集游标下移String str=db.rs.getString(1).trim();/得到管理员权限

44、if(str.equals(0)mg.setFlag(false);/设置管理员权限catch(E*ception e)e.printStackTrace(); public void initJp()jp.setLayout(cl);/设置布局管理器为卡片布局jp.add(jlRoot,root);/添加根结点显示信息 jp.add(new Student(),stu);/添加学生管理模块界面jp.add(new BookManage(),bm);/添加图书管理模块界面jp.add(new SearchBook(),sb);/添加查找图书管理界面jp.add(new BorrowBook()

45、,bb);/添加借阅预约图书模块界面jp.add(new ReturnBook(),rb);/添加归还挂失图书界面jp.add(this.mg,Manager);/添加管理员管理模块界面jp.add(new E*ceedTime(),et);/添加罚款处理界面public void addTreeListener()jt.addTreeSelectionListener(new TreeSelectionListener()public void valueChanged(TreeSelectionEvent e)DefaultMutableTreeNode cdmtn=/得到选中的节点对象(

46、DefaultMutableTreeNode)e.getPath().getLastPathponent();NodeValuev=(NodeValue)cdmtn.getUserObject();/得到自定义节点对象if(v.value.equals(图书馆管理系统)/显示根结点信息cl.show(jp,root); if(v.value.equals(学生用户管理)/显示学生用户管理界面cl.show(jp,stu);else if(v.value.equals(图书管理)/显示图书管理界面 cl.show(jp,bm);if(v.value.equals(查询图书)/显示查询图书界面cl

47、.show(jp,sb);else if(v.value.equals(借阅预约图书)/显示借阅预约图书界面cl.show(jp,bb);else if(v.value.equals(归还挂失图书)/显示归还挂失图书界面cl.show(jp,rb);else if(v.value.equals(交纳罚款)/显示缴纳罚款界面cl.show(jp,et);else if(v.value.equals(管理员管理)/显示管理员管理界面cl.show(jp,Manager);else if(v.value.equals(退出)/显示退出界面int i=JOptionPane.showConfirmDi

48、alog(Root.this,是否退出系统,消息,JOptionPane.YES_NO_OPTION);if(i=JOptionPane.YES_OPTION)/退出系统System.e*it(0);); public static void main(String args)new Root(1001);class NodeValueString value;/自定义节点对象字符属性public NodeValue(String value)/构造器this.value=value;public String getValue()/value的Get方法return this.value;Overridepublic String toString()/重写toString方法return value;

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!