版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、广西外国语学院信息工程学院 面向对象java程序设计 实验报告班级网络工程1301姓名李亮锋学号日期实验地点实验名称广外图书馆管理系统一. 实验目的1、掌握Java图形用户设计Swing常用组件。2、掌握SQL Server 2005数据库、数据表的创建与使用。3、掌握事件的监听机制。4、熟悉使用SQL语言操作数据库,如增加、删除、查询和修改等。5、熟悉应用程序的开发流程。6、程序的打包与安装。7、锻炼学生的逻辑思维。实验设备(仪器、材料、软件等)硬件:计算机软件:JDK、Eclipse三、实验内容本系统将会涉及到图书馆日常管理工作的基本常见细节,诸如新图书的入库登记,图书馆所有书籍的分类管理
2、,图书的查询,图书的借阅、退还手续的登记,费旧图书的清理撤除等,本系统所要实现的这些功能基本上涵盖了图书馆的日常管理工作,基本能够满足校园图书馆的工作人员的管理需要。在对本系统的具体开发过程当中,将采用Java语言进行开发,以SQLServer实现后台数据库,本系统是完全基于图形化用户界面(GUI)的单机版本。四、实验步骤请参见教材第20章综合案例快递打印系统格式来书写,要求有界面和核心代码。图书馆管理系统要有的信息:用户登录(注册),新图书入库,图书信息查询,图书更新(修改),旧图书删除,办理借阅证登记,图书借阅管理,软件说明及关于作者等。以下是示例,每个同学可以有自己的功能设计和数据库设计
3、。系统的功能结构图书入库对应数据库学生信息表对应数据库用户信息表对应数据库(一)图书菜单主菜单源代码如下:package book;import java.awt.Container;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.AbstractAction;import javax.swing.Icon;import javax.swing.ImageIcon;import javax.swing.JFrame;import javax.swing.JLabe
4、l;import javax.swing.JMenu;import javax.swing.JMenuBar;import javax.swing.JMenuItem;import javax.swing.JPanel;import llf.frane.Login;import booksystem.BookDelete;import booksystem.BookQuery;import booksystem.BookUpdate;import booksystem.Dengji;public class MainFrame extends JFrameJMenuBar menubar=nu
5、ll;JMenu jm=null;JPanel jp;/图片Icon icon;/图片JLabel jl;/图片public MainFrame()setSize(558,370);setTitle(广外图书管理系统);setJMenuBar(getJMenuBar1();setLocationRelativeTo(null);setResizable(false); private JMenuBar getJMenuBar1() / TODO Auto-generated method stubif(menubar=null)menubar=new JMenuBar();JMenu jm1=
6、new JMenu(菜单);JMenu jm2=new JMenu(选项);JMenu jm3=new JMenu(帮助);menubar.add(jm1);menubar.add(jm2);menubar.add(jm3);JMenuItem bookinsert=new JMenuItem(新图书入库);JMenuItem bookquery=new JMenuItem(图书信息查询);JMenuItem bookupdate=new JMenuItem(图书更新);JMenuItem bookdelete=new JMenuItem(旧图书删除); JMenuItem bookexit=
7、new JMenuItem(退出系统); JMenuItem dengji=new JMenuItem(办理借阅证登记); JMenuItem manage=new JMenuItem(图书借阅管理); JMenuItem denglu=new JMenuItem(用户登陆); JMenuItem introduce=new JMenuItem(软件说明); JMenuItem author =new JMenuItem(关于作者); jm1.add(bookinsert); jm1.add(bookquery); jm1.add(bookupdate); jm1.add(bookdelete
8、);jm1.add(bookexit);jm2.add(dengji);jm2.add(manage);jm2.add(denglu);jm3.add(introduce);jm3.add(author);JPanel jp=new JPanel();/图片Icon iocn=new ImageIcon(C:/Users/Administrator/Desktop/李亮锋135502113/tushuguan.JPG);JLabel jl=new JLabel(iocn);/图片jp.add(jl);/图片this.add(jp);/图片bookinsert.addActionListener
9、(new ActionListener() public void actionPerformed(ActionEvent arg0) / TODO Auto-generated method stubBookinsert bi=new Bookinsert();bi.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);bi.setVisible(true););bookquery.addActionListener(new ActionListener() public void actionPerformed(ActionEvent arg0
10、) / TODO Auto-generated method stubBookQuery bq=new BookQuery();bq.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);bq.setVisible(true););bookupdate.addActionListener(new ActionListener() public void actionPerformed(ActionEvent arg0) / TODO Auto-generated method stubBookUpdate bu=new BookUpdate();b
11、u.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);bu.setVisible(true););bookdelete.addActionListener(new ActionListener() public void actionPerformed(ActionEvent arg0) / TODO Auto-generated method stubBookDelete bd=new BookDelete();bd.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);bd.setVisible
12、(true););bookexit.addActionListener(new ActionListener() /退出public void actionPerformed(ActionEvent arg0) / TODO Auto-generated method stubSystem.exit(1););dengji.addActionListener(new ActionListener() /办理借阅证登记public void actionPerformed(ActionEvent arg0) / TODO Auto-generated method stubDengji dj=n
13、ew Dengji();dj.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);dj.setVisible(true););introduce.addActionListener(new ActionListener() /软件说明public void actionPerformed(ActionEvent arg0) / TODO Auto-generated method stubIntroduce id=new Introduce();id.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE
14、);id.setVisible(true););manage.addActionListener(new ActionListener() /图书借阅管理public void actionPerformed(ActionEvent arg0) / TODO Auto-generated method stubManage ma=new Manage();ma.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);ma.setVisible(true););denglu.addActionListener(new ActionListener()
15、/登陆public void actionPerformed(ActionEvent arg0) / TODO Auto-generated method stubLogin lg=new Login();lg.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);lg.setVisible(true););author.addActionListener(new ActionListener() /关于作者public void actionPerformed(ActionEvent arg0) / TODO Auto-generated met
16、hod stubAuthor at=new Author();at.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);at.setVisible(true););return menubar;public static void main(String args) / TODO Auto-generated method stubMainFrame mf=new MainFrame();mf.setVisible(true);mf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);(二)登录界面登陆界
17、面源代码如下:package llf.frane;import java.awt.Component;import java.awt.Font;import java.awt.GridLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JPanel;import javax.swing.JPassw
18、ordField;import javax.swing.JTextField;public class Login extends JFrameJPanel jP1,jP2,jP3,jP4;JLabel jl1,jl2,jl3;JTextField tf;JPasswordField pf;JButton b1,b2,b3;public Login()jl1=new JLabel(广外图书馆);jl1.setFont(new Font(隶书,Font.BOLD,40);jl2=new JLabel(账户:);jl3=new JLabel(密码:);b1=new JButton(登陆);b2=n
19、ew JButton(取消);b3=new JButton(重置);tf=new JTextField(15);pf=new JPasswordField(15);jP1=new JPanel();jP2=new JPanel();jP3=new JPanel();jP4=new JPanel();setLayout(new GridLayout(4,1);jP1.add(jl1);jP2.add(jl2);jP2.add(tf);jP3.add(jl3);jP3.add(pf);jP4.add(b1);jP4.add(b2);jP4.add(b3);this.add(jP1);this.ad
20、d(jP2);this.add(jP3);this.add(jP4);setTitle(用户登陆);setSize(500,400);setLocationRelativeTo(null);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);setVisible(true);b2.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) / TODO Auto-generated method stubSystem.exit(1););b3.add
21、ActionListener(new ActionListener()public void actionPerformed(ActionEvent arg0) / TODO Auto-generated method stubtf.setText();pf.setText(););public static void main(String args) Login lg=new Login();(三)新图书入库新图书入库源代码package book;import java.awt.GridLayout;import java.awt.HeadlessException;import jav
22、a.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.SQLException;import javax.swing.AbstractButton;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JOptionPane;impor
23、t javax.swing.JPanel;import javax.swing.JTextField;import llf.frane.DAO;public class Bookinsert extends JFrame JLabel jl1,jl2,jl3,jl4,jl5;JTextField jt1,jt2,jt3,jt4,jt5;JButton jb1,jb2;JPanel jp1,jp2,jp3,jp4,jp5,jp6;public Bookinsert()setSize(400,300);setTitle(新图书入库);setLocationRelativeTo(null);setD
24、efaultCloseOperation(JFrame.EXIT_ON_CLOSE);setVisible(true);setLayout(new GridLayout(6,1);jp1=new JPanel();jp2=new JPanel();jp3=new JPanel();jp4=new JPanel();jp5=new JPanel();jp6=new JPanel();jl1=new JLabel(图书编号);jl2=new JLabel(图书名称);jl3=new JLabel(出版日期);jl4=new JLabel(出版社名称);jl5=new JLabel(图书总数);jt
25、1=new JTextField(15);jt2=new JTextField(15);jt3=new JTextField(15);jt4=new JTextField(15);jt5=new JTextField(15);jb1=new JButton(入库);jb2=new JButton(重置);jp1.add(jl1);jp1.add(jt1);jp2.add(jl2);jp2.add(jt2);jp3.add(jl3);jp3.add(jt3);jp4.add(jl4);jp4.add(jt4);jp5.add(jl5);jp5.add(jt5);jp6.add(jb1);jp6.
26、add(jb2);this.add(jp1);this.add(jp2);this.add(jp3);this.add(jp4);this.add(jp5);this.add(jp6);jb1.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) /System.exit(1);String sname=jt1.getText().trim();String sno=jt2.getText().trim();String sriqi=jt3.getText().trim();Strin
27、g schubanshe=jt4.getText().trim();String szongshu=jt5.getText().trim();String sex;try if(sname.equals()|sno.equals()|sriqi.equals()|schubanshe.equals()|szongshu.equals()JOptionPane.showMessageDialog(null,请输入完整信息);elseConnection conn=null;PreparedStatement ps=null;conn=DAO.getConn();ps=conn.prepareSt
28、atement(insert into inputbook values (+sname+,+sno+,+sriqi+,+schubanshe+,+szongshu+);int i=ps.executeUpdate();if(i=1)JOptionPane.showMessageDialog(null,入库成功);elseJOptionPane.showMessageDialog(null,入库失败); catch (HeadlessException e1) / TODO Auto-generated catch blocke1.printStackTrace(); catch (SQLEx
29、ception e1) / TODO Auto-generated catch blocke1.printStackTrace(););jb2.addActionListener(new ActionListener()public void actionPerformed(ActionEvent arg0) / TODO Auto-generated method stubjt1.setText();jt2.setText();jt3.setText();jt4.setText();jt5.setText(););public static void main(String args) /
30、TODO Auto-generated method stubBookinsert b=new Bookinsert();b.setVisible(true);b.setResizable(false);(四)图书信息查询图书信息查询源代码如下:package booksystem;import java.awt.GridLayout;import java.awt.HeadlessException;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.sql.Connection
31、;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JOptionPane;import javax.swing.JPanel;import javax.swing.JTextField;import llf.frane.DAO;public class BookQuery
32、extends JFrame JLabel jl1,jl2,jl3,jl4;JTextField jf1,jf2,jf3,jf4;/文本JButton jb1;/按钮JPanel jp1,jp2,jp3,jp4;public BookQuery()jl1=new JLabel(查询图书的名称:);jl2=new JLabel(图书编号:);jl3=new JLabel(入库日期);jl4=new JLabel(入库总数:);jf1=new JTextField(15);jf2=new JTextField(15);jf3=new JTextField(15);jf4=new JTextFiel
33、d(15);jb1=new JButton(查询);jp1=new JPanel();jp2=new JPanel();jp3=new JPanel();jp4=new JPanel();this.setLayout(new GridLayout(4, 1);jp1.add(jl1);jp1.add(jf1);jp1.add(jb1);jp2.add(jl2);jp2.add(jf2);jp3.add(jl3);jp3.add(jf3);jp4.add(jl4);jp4.add(jf4);this.add(jp1);this.add(jp2);this.add(jp3);this.add(jp
34、4);setTitle(图书查询);setSize(400,300);setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);setLocationRelativeTo(null);setVisible(true);jb1.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) / TODO Auto-generated method stubString bookname=jf1.getText().trim();Connection con
35、n=null;PreparedStatement ps=null;ResultSet rs=null;conn=DAO.getConn();try if(bookname.equals()JOptionPane.showMessageDialog(null,请输入你要查询的书名);elseString sql=select * from inputbook where bookname=+bookname+;ps=conn.prepareStatement(sql);rs=ps.executeQuery();if(rs.next()jf2.setText(rs.getString(1);jf3
36、.setText(rs.getString(3);elseJOptionPane.showMessageDialog(null,你查询的图书不存在); catch (HeadlessException e1) / TODO Auto-generated catch blocke1.printStackTrace(); catch (SQLException e1) / TODO Auto-generated catch blocke1.printStackTrace(););public static void main(String args) / TODO Auto-generated m
37、ethod stubBookQuery bc=new BookQuery();(五)图书更新图书更新源代码如下:package booksystem;import java.awt.GridLayout;import java.awt.HeadlessException;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import
38、 java.sql.SQLException;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JOptionPane;import javax.swing.JPanel;import javax.swing.JTextField;import llf.frane.DAO;public class BookUpdate extends JFrame JLabel jl1,jl2,jl3,jl4,jl5;JTextField jt1,jt2,jt3,j
39、t4,jt5;/文本JButton jb1,jb2;JPanel jp1,jp2,jp3,jp4,jp5,jp6;public BookUpdate()jl1=new JLabel(图书名称);jl2=new JLabel(图书编号);jl3=new JLabel(入库日期);jl4=new JLabel(入库日期);jl5=new JLabel(入库总数);jt1=new JTextField(15);jt2=new JTextField(15);jt3=new JTextField(15);jt4=new JTextField(15);jt5=new JTextField(15);jb1=
40、new JButton(查询);jb2=new JButton(修改);jp1=new JPanel();jp2=new JPanel();jp3=new JPanel();jp4=new JPanel();jp5=new JPanel();jp6=new JPanel();setLayout(new GridLayout(6, 1);jp1.add(jl1);jp1.add(jt1);jp2.add(jl2);jp2.add(jt2);jp3.add(jl3);jp3.add(jt3);jp4.add(jl4);jp4.add(jt4);jp5.add(jl5);jp5.add(jt5);j
41、p6.add(jb1);jp6.add(jb2);this.add(jp1);this.add(jp2);this.add(jp3);this.add(jp4);this.add(jp5);this.add(jp6);setTitle(图书更新);setSize(500,350);setLocationRelativeTo(null);setDefaultCloseOperation(DISPOSE_ON_CLOSE);setVisible(true);jb1.addActionListener(new ActionListener() public void actionPerformed(
42、ActionEvent arg0) / TODO Auto-generated method stubString bookname=jt1.getText().trim();Connection conn=null;PreparedStatement ps=null;ResultSet rs=null;conn=DAO.getConn();try if(bookname.equals()JOptionPane.showMessageDialog(null,请输入你要查询的书名);elseString sql=select * from inputbook where bookname=+bo
43、okname+;ps=conn.prepareStatement(sql);rs=ps.executeQuery();if(rs.next()jt2.setText(rs.getString(1);jt3.setText(rs.getString(3);elseJOptionPane.showMessageDialog(null,你查询的图书不存在); catch (HeadlessException e1) / TODO Auto-generated catch blocke1.printStackTrace(); catch (SQLException e1) / TODO Auto-ge
44、nerated catch blocke1.printStackTrace(););jb2.addActionListener(new ActionListener() public void actionPerformed(ActionEvent arg0) / TODO Auto-generated method stub/jt1.setText();jt2.setText();jt3.setText();/jt4.setText();jt5.setText(););public static void main(String args) / TODO Auto-generated met
45、hod stubBookUpdate bu=new BookUpdate();(六)旧图书删除旧图书删除源代码如下:package booksystem;/说明删除界面import java.awt.GridLayout;import java.awt.HeadlessException;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.SQLExce
46、ption;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JOptionPane;import javax.swing.JPanel;import javax.swing.JTextField;import llf.frane.DAO;public class BookDelete extends JFrameJLabel jl1;JTextField jf1;JButton jb1,jb2;JPanel jp1,jp2,jp3;public B
47、ookDelete()jl1=new JLabel(请输入你要删除的图书名称);jf1=new JTextField(18);jb1=new JButton(删除);jb2=new JButton(重置);jp1=new JPanel();jp2=new JPanel();jp3=new JPanel();setLayout(new GridLayout(3, 1);jp1.add(jl1);jp2.add(jf1);jp3.add(jb1);jp3.add(jb2);this.add(jp1);this.add(jp2);this.add(jp3);setTitle(旧图书删除);setSi
48、ze(400,250);setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);setLocationRelativeTo(null);setVisible(true);jb1.addActionListener(new ActionListener() public void actionPerformed(ActionEvent arg0) / TODO Auto-generated method stubString dlname=jf1.getText().trim();try if(dlname.equals()JOptionPane.sh
49、owMessageDialog(null, 请输入你要删除的图书名称);elseConnection conn=null;PreparedStatement ps=null;int i;conn=DAO.getConn();String sql=delete * from inputbook where bookname=+dlname+;/执行sqlps=conn.prepareStatement(sql);i=ps.executeUpdate();if(i=1)JOptionPane.showMessageDialog(null, 删除图书成功);elseJOptionPane.showMessageDialog(null, 删除图书失败); catch
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年天津二十一中中考历史一模试卷(含答案)
- 降低工程质量标准
- 黑龙江省萝北县市级名校2026届中考历史模拟预测题含解析
- 玛咖与东哥阿里对游泳训练大鼠血清睾酮水平的影响及机制探究
- 某纺织厂织造工艺改进办法
- 猫双孔腹腔镜卵巢子宫切除术:技术、效果与展望
- 保险公司机构IT岗位作业手册模板
- 税务政策与法规2026年测试题
- 2026年乡镇干部森林防火联防联控专项测试题
- 2026年档案文化建设知识试题
- 喀什地区2025新疆维吾尔自治区喀什地区“才聚喀什智惠丝路”人才引进644人笔试历年参考题库典型考点附带答案详解
- 2026LME与上海期货交易所价格引导关系研究
- 健康人口与社会经济协同发展策略
- T∕CAMDA 36-2026 双孢蘑菇采摘机器人
- 二十届四中全会模拟100题(带答案)
- 吾悦广场内部管理制度
- 2026年苏教版二年级科学下册(全册)教学设计(附教材目录)
- 腾讯收购案例分析
- 污水厂运营夜班制度规定
- 2026年就业市场:挑战与机遇并存高校毕业生就业指导与策略
- 医疗广告审查标准与医美宣传红线
评论
0/150
提交评论