信息科学与工程学院课程设计题目:图书管理系统姓名:晓雨颖学号: ************201312140120班级: 13 级本科四班物联网课程: Java 程序设计任课教师梦琳2014 年 12 月 20 日课程设计任务书及成绩评定题目图书管理系统课程设计的任务及要求任务 :设计一个功能齐全,实用的XXX软件。
软件设计合理、界面设计美观。
具体要求 :写明该软件完成了哪些功能课程设计所需的软件、硬件等硬件环境: Iterl(R) Core(TM)2 Duo CPU,主频 2.31GHz;存3G;硬盘 320G 以上; 1024× 768 显示分辨率软件环境:JDK6.0 以上、 eclipse等设计报告:1、设计目的和任务2、总体设计:包括程序设计组成框图、流程图。
3、详细设计:包括模块功能说明:函数功能、入口及出口参数说明,函数调用关系描述等。
4、调试与测试:包括调试方法,测试结果分析与讨论,测试过程中遇到的主要问题及采取的解决措施。
5、源程序清单和执行结果:清单中应有足够的注释。
任课教师评语成绩:教师签名:日期:目录1前言 (3)1.1设计目的 (4)1.2设计任务 (4)1.3运行环境 (4)2总体设计 (5)2.1设计原理 .............................................错误 ! 未定义书签。
3详细设计实现 . . (5)3.1代码 (5)3.2登陆后事件处理 (12)4心得体会 ................................................错误 ! 未定义书签。
1 前言Java 的前身是 Oak,它一开始只是被应用于消费性电子产品中。
后来它的开发者们发现它还可以被用于更大围的Internet上。
1995年, Java 语言的名字从Oak编程了 Java。
1997 年 J2SE1.1 发布。
1998 年 J2SE1.2 发布,标志 Java2 的诞生。
十多年来, Java 编程语言及平台成功地运用在网络计算及移动等各个领域。
Java 的体系结构由 Java 语言、 Java class 、Java API 、Java 虚拟机组成。
它具有简单、面向对象、健壮、安全、结构中立、可移植和高效能等众多优点。
Java 支持多线程编程, Java 运行时系统在多线程同步方面具有成熟的解决方案。
Java 的平台标准有 Java ME,Java SE 和 JavaEE。
Java 发展到今天,它的卓越成就及在业界的地位毋庸置疑。
目前在众多的支持Java 的开发工具中主要的7 有 Java DevelopmentKit ,NetBeans,Jcreator ,JBuilder ,JDeveloper 和 Eclipse等。
其中 Java Development Kit简称JDK是大多开发工具的基础。
以上的每种开发工具都有优缺点,对于开发者来说,重要的是要根据自己的开发规模、开发容和软硬件环境等因素来选择一种合适的开发工具。
1.1 设计目的为了方便学校图书管理,加强师生之间的信息共享,图书管理系统是必不可少的一环。
随着我国教育不断的发展知识不断的增多与多元化,图书信息处理日趋信息化,安全化。
若继续使用传统的手工方式进行图书的管理,工作不但繁琐复杂,而且效率低下缺乏科学性以及合理性。
随着计算机的应用的普及和深入,对图书进行统一管理,将成为管理学生的必要一环,也可以减少图书馆工作人员的工作量,真正实现图书管理的系统化、规化、自动化达到提高图书信息查询效率提高的目的。
充分利用计算机为辅助工具,实现从传统化向信息化的迈进,实现全面的办公自动化,为图书管理工作带来方便。
1.2 设计任务制作一款图书管理系统,是图书借阅,管理信息等更加方便快捷,改变传统方式的繁琐效率低下的特点。
1.3 运行环境环境是在个人笔记本上搭建的,根据运行情况得出本系统的运行环境至少为:硬件环境: Iterl(R) Core(TM)2 Duo CPU,主频 2.31GHz;存3G;硬盘 320G以上; 1024× 768 显示分辨率软件环境: JDK6.0 以上、 eclipse等2总体设计2.1 设计原理利用 Java 语言及数据库知识,将 JAVA与数据库,形成动态查询,便于对信息的进行更加清晰的查询。
3详细设计实现3.1 代码其他代码由于数量原因省略此为main 方法代码。
import java.awt.*;import java.awt.event.*;import javax.swing.*;public class MainWindow extends JFrame implements ActionListener {JPanel panel1 ;Container c ;JMenuBar MenuB;JMenu SystemMenu, BookMGRMenu, BorrowBookMenu,ReturnBookMenu , InfoBrowseMenu , UserMGRMenu;JMenuItem UserLoginMenuItem , UserAddMenuItem , UserModifyMenuItem , UserDeleteMenuItem , ExitMenuItem , BookAddMenuItem , BookModifyMenuItem , BookDeleteMenuItem ,BorrowBookMenuItem , BorrowInfoMenuItem , ReturnBookMenuItem , ReturnInfoMenuItem ,BookListMenuItem , BorrowBookListMenuItem , UserListMenuItem ; JLabel titleLabel ,AuthorLabel , DateLabel ;public MainWindow(){super ( " 图书馆管理系统" );//--系统管理菜单--MenuB=new JMenuBar();SystemMenu=new JMenu( " 系统管理 " );UserMGRMenu=new JMenu( " 用户管理 " );UserLoginMenuItem =new JMenuItem( " 用户登录 " );UserAddMenuItem =new JMenuItem( " 添加用户 " );UserModifyMenuItem=new JMenuItem( " 修改用户 " );UserDeleteMenuItem=new JMenuItem( " 删除用户 " );ExitMenuItem =new JMenuItem( " 退出 " );SystemMenu.add( UserLoginMenuItem );UserMGRMenu.add( UserAddMenuItem );UserMGRMenu.add(UserModifyMenuItem); UserMGRMenu.add(UserDeleteMenuItem);SystemMenu.add( UserMGRMenu);SystemMenu.add( ExitMenuItem );UserLoginMenuItem.addActionListener(this); UserAddMenuItem .addActionListener(this); UserModifyMenuItem.addActionListener(this); UserDeleteMenuItem.addActionListener(this); ExitMenuItem .addActionListener(this);MenuB.add( SystemMenu);//---书籍管理菜单 --BookMGRMenu=new JMenu( " 书籍管理 " ); BookAddMenuItem=new JMenuItem( " 添加书籍 " ); BookModifyMenuItem=new JMenuItem(" 修改书籍 " ); BookDeleteMenuItem=new JMenuItem(" 删除书籍 " ); BookMGRMenu.add(BookAddMenuItem);BookMGRMenu.add(BookModifyMenuItem); BookMGRMenu.add(BookDeleteMenuItem); BookAddMenuItem.addActionListener(this); BookModifyMenuItem.addActionListener(this); BookDeleteMenuItem.addActionListener(this); MenuB.add( BookMGRMenu);//--借书管理菜单 --BorrowBookMenu=new JMenu( " 借书管理 " ); BorrowBookMenuItem =new JMenuItem(" 书籍出借 " ); BorrowInfoMenuItem=new JMenuItem(" 出借信息修改 " ); BorrowBookMenu .add( BorrowBookMenuItem ); BorrowBookMenu .add( BorrowInfoMenuItem); BorrowBookMenuItem .addActionListener(this); BorrowInfoMenuItem.addActionListener(this); MenuB.add( BorrowBookMenu);//--还书管理菜单 --ReturnBookMenu =new JMenu( " 还书管理 " ); ReturnBookMenuItem=new JMenuItem(" 书籍还入 " ); ReturnInfoMenuItem=new JMenuItem(" 书籍还入信息修改 " ); ReturnBookMenu .add( ReturnBookMenuItem); ReturnBookMenu .add( ReturnInfoMenuItem); ReturnBookMenuItem.addActionListener(this); ReturnInfoMenuItem.addActionListener(this); MenuB.add( ReturnBookMenu );//--信息一览菜单 --InfoBrowseMenu =new JMenu( " 信息一览 " ); BookListMenuItem=new JMenuItem(" 书籍列表 " ); BorrowBookListMenuItem =new JMenuItem(" 借阅情况表 " );UserListMenuItem =new JMenuItem( " 用户列表 " );InfoBrowseMenu.add( BookListMenuItem);InfoBrowseMenu.add( BorrowBookListMenuItem );InfoBrowseMenu.add( UserListMenuItem);BookListMenuItem.addActionListener(this);BorrowBookListMenuItem.addActionListener(this);UserListMenuItem.addActionListener(this);MenuB.add(InfoBrowseMenu);//----------------------------------setJMenuBar( MenuB);titleLabel=new JLabel(new ImageIcon(".\\pic.jpg"));c=getContentPane();c.setLayout(new BorderLayout());panel1 =new JPanel();panel1 .setLayout(new BorderLayout());panel1 .add(titleLabel,BorderLayout.);CENTERc.add( panel1 ,BorderLayout. CENTER);setBounds(100,50,400,300);show();//-- 设置初始功能 :--UserMGRMenu.setEnabled(false);BookMGRMenu.setEnabled(false);BorrowBookMenu .setEnabled(false);ReturnBookMenu .setEnabled(false);InfoBrowseMenu .setEnabled(false);}//--设置每个菜单点击后出现的窗口和窗口显示的位置--public void actionPerformed(ActionEvent e){if (e.getActionCommand()== " 用户登录 " ){UserLogin UserLoginFrame=new UserLogin( this );Dimension FrameSize=UserLoginFrame.getPreferredSize();Dimension MainFrameSize=getSize();Point loc=getLocation();UserLoginFrame.setLocation((MainFrameSize.width -FrameSize. width )/2+loc. x, (MainFrameSize. height -FrameSize. height )/2+loc.y );UserLoginFrame.pack();UserLoginFrame.show();}else if (e.getActionCommand()==" 添加用户 " ){UserAdd UserAddFrame= new UserAdd();Dimension FrameSize=UserAddFrame.getPreferredSize();Dimension MainFrameSize=getSize();Point loc=getLocation();UserAddFrame.setLocation((MainFrameSize.width -FrameSize. width )/2+loc. x, (MainFrameSize. height -FrameSize. height )/2+loc.y );UserAddFrame.pack();UserAddFrame.show();}else if (e.getActionCommand()==" 修改用户 " ){UserModify UserModifyFrame=new UserModify();Dimension FrameSize=UserModifyFrame.getPreferredSize();Dimension MainFrameSize=getSize();Point loc=getLocation();UserModifyFrame.setLocation((MainFrameSize.width -FrameSize. width )/2+loc. x, (MainFrameSize. height -FrameSize. height )/2+loc.y );UserModifyFrame.pack();UserModifyFrame.show();}else if (e.getActionCommand()==" 删除用户 " ){UserDelete UserDeleteFrame=new UserDelete();Dimension FrameSize=UserDeleteFrame.getPreferredSize();Dimension MainFrameSize=getSize();Point loc=getLocation();UserDeleteFrame.setLocation((MainFrameSize.width -FrameSize. width )/2+loc. x, (MainFrameSize. height -FrameSize. height )/2+loc.y );UserDeleteFrame.pack();UserDeleteFrame.show();}else if (e.getActionCommand()==" 添加书籍 " ){BookAdd BookAddFrame= new BookAdd();Dimension FrameSize=BookAddFrame.getPreferredSize();Dimension MainFrameSize=getSize();Point loc=getLocation();BookAddFrame.setLocation((MainFrameSize.width -FrameSize. width )/2+loc. x,(MainFrameSize. height -FrameSize. height )/2+loc. y ); BookAddFrame.pack();BookAddFrame.show();}else if (e.getActionCommand()==" 修改书籍 " ){BookModify BookModifyFrame=new BookModify();Dimension FrameSize=BookModifyFrame.getPreferredSize();Dimension MainFrameSize=getSize();Point loc=getLocation();BookModifyFrame.setLocation((MainFrameSize.width -FrameSize. width )/2+loc. x, (MainFrameSize. height -FrameSize. height )/2+loc.y );BookModifyFrame.pack();BookModifyFrame.show();}else if (e.getActionCommand()==" 删除书籍 " ){BookDelete BookDeleteFrame=new BookDelete();Dimension FrameSize=BookDeleteFrame.getPreferredSize();Dimension MainFrameSize=getSize();Point loc=getLocation();BookDeleteFrame.setLocation((MainFrameSize.width -FrameSize. width )/2+loc. x, (MainFrameSize. height -FrameSize. height )/2+loc.y );BookDeleteFrame.pack();BookDeleteFrame.show();}else if (e.getActionCommand()==" 书籍出借 " ){BorrowBook BorrowBookFrame=new BorrowBook();Dimension FrameSize=BorrowBookFrame.getPreferredSize();Dimension MainFrameSize=getSize();Point loc=getLocation();BorrowBookFrame.setLocation((MainFrameSize.width -FrameSize. width )/2+loc. x, (MainFrameSize. height -FrameSize. height )/2+loc.y );BorrowBookFrame.pack();BorrowBookFrame.show();}else if (e.getActionCommand()== " 出借信息修改" ){BorrowInfo BorrowInfoFrame=new BorrowInfo();Dimension FrameSize=BorrowInfoFrame.getPreferredSize();Dimension MainFrameSize=getSize();Point loc=getLocation();BorrowInfoFrame.setLocation((MainFrameSize.width -FrameSize. width )/2+loc. x, (MainFrameSize. height -FrameSize. height )/2+loc.y );BorrowInfoFrame.pack();BorrowInfoFrame.show();}else if (e.getActionCommand()==" 书籍还入 " ){ReturnBook ReturnBookFrame=new ReturnBook();Dimension FrameSize=ReturnBookFrame.getPreferredSize();Dimension MainFrameSize=getSize();Point loc=getLocation();ReturnBookFrame.setLocation((MainFrameSize.width -FrameSize. width )/2+loc. x, (MainFrameSize. height -FrameSize. height )/2+loc.y );ReturnBookFrame.pack();ReturnBookFrame.show();}else if (e.getActionCommand()== " 书籍还入信息修改" ){ReturnInfo ReturnInfoFrame=new ReturnInfo();Dimension FrameSize=ReturnInfoFrame.getPreferredSize();Dimension MainFrameSize=getSize();Point loc=getLocation();ReturnInfoFrame.setLocation((MainFrameSize.width -FrameSize. width )/2+loc. x, (MainFrameSize. height -FrameSize. height )/2+loc.y );ReturnInfoFrame.pack();ReturnInfoFrame.show();}else if (e.getActionCommand()==" 书籍列表 " ){BookList BookListFrame=new BookList();Dimension FrameSize=BookListFrame.getPreferredSize();Dimension MainFrameSize=getSize();Point loc=getLocation();BookListFrame.setLocation((MainFrameSize.width -FrameSize. width )/2+loc. x, (MainFrameSize. height -FrameSize. height )/2+loc.y );BookListFrame.pack();BookListFrame.show();}else if (e.getActionCommand()== " 借阅情况表" ){BorrowBookList BorrowBookListFrame=new BorrowBookList();Dimension FrameSize=BorrowBookListFrame.getPreferredSize();Dimension MainFrameSize=getSize();Point loc=getLocation();BorrowBookListFrame.setLocation((MainFrameSize.width -FrameSize. width )/2+loc.x , (MainFrameSize. height -FrameSize. height )/2+loc.y );BorrowBookListFrame.pack();BorrowBookListFrame.show();}else if (e.getActionCommand()==" 用户列表 " ){UserList UserListFrame=new UserList();Dimension FrameSize=UserListFrame.getPreferredSize();Dimension MainFrameSize=getSize();Point loc=getLocation();UserListFrame.setLocation((MainFrameSize.width -FrameSize. width )/2+loc. x, (MainFrameSize. height -FrameSize. height )/2+loc.y );UserListFrame.pack();UserListFrame.show();}else if (e.getActionCommand()==" 退出 " ){this .dispose();System. exit (0);}}//--设置登录用户的权限--public void setEnable(String powerType){if (powerType.trim().equals(" 系统管理员" )){UserMGRMenu.setEnabled( true );BookMGRMenu.setEnabled( true );BorrowBookMenu .setEnabled( true );ReturnBookMenu .setEnabled( true );InfoBrowseMenu .setEnabled( true );UserListMenuItem .setEnabled( true );}else if (powerType.trim().equals(" 书籍管理员" )){UserMGRMenu.setEnabled( false );BookMGRMenu.setEnabled( true );BorrowBookMenu .setEnabled(false);ReturnBookMenu .setEnabled(false);InfoBrowseMenu .setEnabled(true);UserListMenuItem .setEnabled(false );}else if (powerType.trim().equals(" 借阅管理员" )){UserMGRMenu.setEnabled(false);BookMGRMenu.setEnabled(false);BorrowBookMenu .setEnabled(true);ReturnBookMenu .setEnabled(true);InfoBrowseMenu .setEnabled(true);UserListMenuItem .setEnabled(false );}else if (powerType.trim().equals("else")){UserMGRMenu.setEnabled(false);BookMGRMenu.setEnabled(false);BorrowBookMenu .setEnabled(false);ReturnBookMenu .setEnabled(false);InfoBrowseMenu .setEnabled(false);}}public static void main(String args[]){MainWindow mainFrame= new MainWindow();3.2 界面显示( 1)此为初始界面(2) admin登陆汉字变黑体为登陆成功,否则登录失败.(3) root 登陆汉字中只有系统管理,书籍管理,和信息一览变黑为登陆成功否则失败。