收藏 分销(赏)

java课程设计小型图书管理系统.doc

上传人:天**** 文档编号:4641002 上传时间:2024-10-08 格式:DOC 页数:34 大小:305.01KB 下载积分:12 金币
下载 相关 举报
java课程设计小型图书管理系统.doc_第1页
第1页 / 共34页
java课程设计小型图书管理系统.doc_第2页
第2页 / 共34页


点击查看更多>>
资源描述
Java应用课程设计 项目名称:小型图书管理系统 课程名称:Java应用 项目作者:* * * 完成日期:2008年12月24日 前言 本系统是小型图书管理系统,专为个人设计。本系统启动后需要登陆,然后进入主界 在这个界面我们可以选择所需要的功能模块来完成所要执行的功能。 系统共有4个功能模块:图书入库、图书查询、图书删除、图书概览、修改密码。支持一系列关于图书管理方面的简单操作,诸如查询、删除、添加、修改密码等。 系统流程图退出 图书删除 图书概览 修改密码 图书查询 图书入库 系统开始 失败 退出 判断 成功 判断 输入密码 说明: 首先是输入判断,相当于在登陆模块,要求用户输入用户名和密码;然后判断,如果判断失败退出系统,否则进入图书管理系统的主界面。进入主界面后,用户要选择所需执行的功能,即通过鼠标点击相应项,来完成所需操作。 图书名 图书号 单价 作者 出版社 入库时间 表book 表user 用户名 密码 数据库表 数据库设计 在图书管理系统中,共设计2张表。本系统使用Access来创建数据表。数据库的名称为Book.mdb。 1.表book 字段名称 数据类型 图书名 文本 图书号 文本(主键) 单价 文本 作者 文本 出版社 文本 入库时间 文本 2.表user 字段名称 数据类型 用户名 文本(主键) 密码 文本 系统源码 程序代码 1登陆界面:程序名Login.java import java.awt.event.*; import javax.swing.*; import java.awt.*; import java.awt.Container; import java.util.*; import java.sql.*; class Login extends JFrame implements ActionListener { Container cp=null; JFrame f=null; JButton j1,j2; JTextField t1; JPasswordField t2; JLabel jlable1,jlable2; Color c; JPanel jp1,jp2; Login(){ f=new JFrame("小型图书管理系统"); j1=new JButton("确定"); j2=new JButton("取消"); cp=f.getContentPane(); jlable1=new JLabel(" 输入用户名"); jlable2=new JLabel(" 用户密码"); jp1=new JPanel(); jp2=new JPanel(); t1=new JTextField(18); t2=new JPasswordField(18); jp1.add(jlable1); jp1.add(t1); jp1.add(jlable2); jp1.add(t2); JLabel JL=new JLabel("<html><font color=#CC00FF size='7'><i>欢迎登陆</i></font>",SwingConstants.CENTER); cp.add(JL,"North"); jp2.add(j1); jp2.add(j2); cp.add(jp1,"Center"); cp.add("South",jp2); jp1.setBackground(new Color(255,153,255)); Toolkit kit=Toolkit.getDefaultToolkit(); Dimension screen=kit.getScreenSize(); int x=screen.width; /*取得显示器窗口的宽度*/ int y=screen.height; /*取得显示器窗口的高度*/ //setSize(x,y); /*让系统窗口平铺整个显示器窗口*/ f.setSize(300,300); int xcenter=(x-300)/2; int ycenter=(y-300)/2; f.setLocation(xcenter,ycenter);/*显示在窗口中央*/ f.setVisible(true); //----------------------------------------------------- j1.addActionListener(this);//注册事件监听器 j2.addActionListener(this); f.addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent e){ System.exit(0); } } ); } public void confirm()//验证用户和密码是否存在 { try{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); }catch(ClassNotFoundException e){System.out.println("加载驱动程序失败!");} try{ String url = "jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=Book.mdb";//直接使用当前类目录下的数据库文件 Connection con=DriverManager.getConnection(url); Statement sql=con.createStatement(); String uname=t1.getText().trim(); String Mima=t2.getText().trim(); String queryMima="select * from user where 用户名='"+uname+"' and 密码='"+Mima+"'"; ResultSet rs=sql.executeQuery(queryMima); if(rs.next()) { new Book(uname); f.hide(); con.close(); }else{ JOptionPane.showMessageDialog(null,"该用户不存在","提示!", JOptionPane.YES_NO_OPTION); } t1.setText(""); t2.setText(""); } catch(SQLException g) { System.out.println("E Code"+g.getErrorCode()); System.out.println("E M"+g.getMessage()); } } public void actionPerformed(ActionEvent e) { String cmd=e.getActionCommand(); if(cmd.equals("确定")){ confirm(); } else if(cmd.equals("取消")){ f.dispose(); } } public static void main(String []arg){ Login a=new Login(); } } 2图书概览:程序名BookBrower.java import java.awt.event.*; import javax.swing.*; import java.awt.*; import java.awt.Container; import java.util.*; import java.sql.*; class BookBrower implements ActionListener { JFrame f; Container cp; JPanel jpS,jpanelWest; JButton jbt1,jbt2;//按钮,查询、取消、修改 JLabel label,L; //标签 //定义文本框 JTable table;//用来接收数据库中返回的信息 Object columnName[]={"图书名","图书号","单价","作者","出版社","入库时间"}; Object ar[][] =new Object[80][6]; String sno; String count="xx"; BookBrower() { f=new JFrame(); cp=f.getContentPane(); // 初始化面板、按钮、标签、文本框 jpS=new JPanel(); jpanelWest=new JPanel(); //------------------------------------------------ jbt1=new JButton("确定"); jbt2=new JButton("返回"); //------------------------------------------------ label=new JLabel("<html><font color=#CC00FF size='4'>图书概览</font>",SwingConstants.CENTER); label.setForeground(Color.blue); L=new JLabel("书库现在共有图书"+count+"本"); //------------------------------------------------ table=new JTable(ar,columnName);//ar存放表中的数据,columnname表示列名 JScrollPane scrollpane = new JScrollPane(table); //------------------------------------------------ //布局,添加控件 jpS.add(jbt1); jpS.add(jbt2); JPanel jpanel=new JPanel(); jpanel.add(label); JPanel pp4=new JPanel(); JPanel jpE=new JPanel(); cp.add(jpanel,"North"); JPanel jp=new JPanel(); //jp.add(scrollpane); JPanel p=new JPanel();//用来放两个表 p.setLayout(new BorderLayout()); p.add(L,"North"); p.add(scrollpane); cp.add(pp4,"West"); cp.add(p,"Center"); cp.add(jpS,"South"); cp.add(jpE,"East"); //------------------------------------------------ Toolkit kit=Toolkit.getDefaultToolkit(); Dimension screen=kit.getScreenSize(); int x=screen.width; /*取得显示器窗口的宽度*/ int y=screen.height; /*取得显示器窗口的高度*/ f.setSize(400,330); int xcenter=(x-350)/2; int ycenter=(y-330)/2; f.setLocation(xcenter,ycenter);/*显示在窗口中央*/ f.setVisible(true); //------------------------------------------------- jbt1.addActionListener(this);//注册监听器 jbt2.addActionListener(this); /* f.addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent e){ System.exit(0); } } );*/ } //------------------------------------------------ int i=0; public void showRecord() { while(i>=0) { ar[i][0]=""; ar[i][1]=""; ar[i][2]=""; ar[i][3]=""; ar[i][4]=""; ar[i][5]=""; i--; } i=0; try{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); }catch(ClassNotFoundException e){System.out.println("加载驱动程序失败!");} try{ String url = "jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=Book.mdb";//直接使用当前类目录下的数据库文件 Connection con=DriverManager.getConnection(url); String s="select * from book "; Statement sql=con.createStatement(); ResultSet rs=sql.executeQuery(s); while(rs.next()) { String bname=rs.getString(1); String bno=rs.getString(2); String price=rs.getString(3); String writer=rs.getString(4); String publish=rs.getString(5); String indate=rs.getString(6); ar[i][0]=bname; ar[i][1]=bno; ar[i][2]=price; ar[i][3]=writer; ar[i][4]=publish; ar[i][5]=indate; i++; } count=""+i+""; L.setText("书库现在共有图书"+count+"本"); f.repaint(); con.close(); }catch(SQLException g) { System.out.println("E Code"+g.getErrorCode()); System.out.println("E M"+g.getMessage()); } } public void actionPerformed(ActionEvent e) { String cmd=e.getActionCommand(); if(cmd.equals("确定")) { f.hide(); } if(cmd.equals("返回")) f.hide(); } public static void main(String []arg){ BookBrower a=new BookBrower(); a.showRecord(); } } 3图书查询:程序名QueryBook.java import java.awt.event.*; import javax.swing.*; import java.awt.*; import java.awt.Container; import java.util.*; import java.sql.*; class QueryBook implements ActionListener { JFrame f3; Container cp; JPanel jp1,jp2,jp3,jp4,jp,jpanelWest; JButton jbt1,jbt2;//按钮,确定、取消 JLabel label; //标签:请输入图书号 JTextField tf,tf1,tf2,tf3,tf4,tf5,tf6; //定义文本框 JLabel label1,label2,label3,label4; QueryBook() { f3=new JFrame(); cp=f3.getContentPane(); // 初始化面板、按钮、标签、文本框 jp1=new JPanel(); jp2=new JPanel(); jp3=new JPanel(); jp4=new JPanel(); jpanelWest=new JPanel(); jp=new JPanel(); //------------------------------------------------ jbt1=new JButton("确定"); jbt2=new JButton("取消"); //------------------------------------------------ label=new JLabel("<html><font color=#CC00FF size='4'>请输入图书号:</font>",SwingConstants.CENTER); label.setForeground(Color.blue); tf=new JTextField(20); //------------------------------------------------ tf1=new JTextField(20); tf2=new JTextField(20); tf3=new JTextField(20); tf4=new JTextField(20); tf5=new JTextField(20); tf6=new JTextField(20); //------------------------------------------------ //布局,添加控件 JPanel jpanel=new JPanel(); jpanel.add(label); jpanel.add(tf); JPanel pp4=new JPanel(); JPanel jpane4=new JPanel(); cp.add(jpanel,"North"); JPanel pp2=new JPanel(new GridLayout(6,1)); JPanel pp3=new JPanel(); pp4.setLayout(new GridLayout(6,1)); pp4.add(new JLabel("图书名",SwingConstants.CENTER)); pp2.add(tf1); pp4.add(new JLabel("图书号",SwingConstants.CENTER)); pp2.add(tf2); pp4.add(new JLabel("单 价",SwingConstants.CENTER)); pp2.add(tf3); pp4.add(new JLabel("作 者",SwingConstants.CENTER)); pp2.add(tf4); pp4.add(new JLabel("出版社",SwingConstants.CENTER)); pp2.add(tf5); pp4.add(new JLabel("入库时间",SwingConstants.CENTER)); pp2.add(tf6); pp3.add(jbt1); pp3.add(jbt2); cp.add(pp4,"West"); cp.add(pp2,"Center"); cp.add(pp3,"South"); cp.add(jpane4,"East"); //------------------------------------------------ Toolkit kit=Toolkit.getDefaultToolkit(); Dimension screen=kit.getScreenSize(); int x=screen.width; /*取得显示器窗口的宽度*/ int y=screen.height; /*取得显示器窗口的高度*/ f3.setSize(350,330); int xcenter=(x-350)/2; int ycenter=(y-330)/2; f3.setLocation(xcenter,ycenter);/*显示在窗口中央*/ f3.setVisible(true); //------------------------------------------------- jbt1.addActionListener(this);//注册监听器 jbt2.addActionListener(this); /*f3.addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent e){ System.exit(0); } } );*/ } //------------------------------------------------ public void showRecord() { try{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); }catch(ClassNotFoundException e){System.out.println("加载驱动程序失败!");} try{ String url = "jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=Book.mdb";//直接使用当前类目录下的数据库文件 Connection con=DriverManager.getConnection(url); Statement sql; String ql=tf.getText().trim(); String s="select * from book where 图书号 ='"+ql +"'"; sql=con.createStatement(); ResultSet rs=sql.executeQuery(s); if(rs.next()) { String bname=rs.getString(1); String bno=rs.getString(2); String price=rs.getString(3); String writer=rs.getString(4); String publish=rs.getString(5); String indate=rs.getString(6); tf1.setText(bname); tf2.setText(bno); tf3.setText(price); tf4.setText(writer); tf5.setText(publish); tf6.setText(indate); } else {JOptionPane.showMessageDialog(null,"您输入的图书号不存在,请重新输入", "输入错误", JOptionPane.YES_NO_OPTION); } con.close(); }catch(SQLException g) { System.out.println("E Code"+g.getErrorCode()); System.out.println("E M"+g.getMessage()); } tf1.setEditable(false); tf2.setEditable(false); tf3.setEditable(false); tf4.setEditable(false); tf5.setEditable(false); tf6.setEditable(false); } public void actionPerformed(ActionEvent e) { String cmd=e.getActionCommand(); if(cmd.equals("确定")) { showRecord(); tf.setText(""); } else if(cmd.equals("取消")) f3.hide(); } public static void main(String []arg){ QueryBook a=new QueryBook(); } } 4图书删除:程序名RemoveBook.java import java.awt.event.*; import javax.swing.*; import java.awt.*; import java.awt.Container; import java.util.*; import java.sql.*; class RemoveBook implements ActionListener { JFrame f; Container cp; JPanel jpS,jpanelWest; JButton jbt1,jbt2,jbt3;//按钮,查询、取消、修改 JLabel label,L; //标签:请输入学号 JTextField tf; //定义文本框 JTable table;//用来接收数据库中返回的信息 Object columnName[]={"图书名","图书号","单价","作者","出版社","入库时间"}; Object ar[][] =new Object[80][6]; String sno; String count="xx"; RemoveBook() { f=new JFrame(); cp=f.getContentPane(); // 初始化面板、按钮、标签、文本框 jpS=new JPanel(); jpanelWest=new JPanel(); //------------------------------------------------ jbt1=new JButton("查询"); jbt2=new JButton("取消"); jbt3=new JButton("删除"); //------------------------------------------------ label=new JLabel("<html><font color=#CC00FF size='4'>请输入要删除的图书名:</font>",SwingConstants.CENTER); label.setForeground(Color.blue); L=new JLabel("该种图书共有"+count+"本"); //------------------------------------------------ table=new JTable(ar,columnName);//ar存放表中的数据,columnname表示列名 JScrollPane scrollpane = new JScrollPane(table); //------------------------------------------------ tf=new JTextField(18); //------------------------------------------------ //------------------------------------------------ //布局,添加控件 jpS.add(jbt1); jpS.add(jbt2); jpS.add(jbt3); JPanel jpanel=new JPanel(); jpanel.add(label); jpanel.add(tf); JPanel pp4=new JPanel(); JPanel jpE=new JPanel(); cp.add(jpanel,"North"); JPanel jp=new JPanel(); //jp.add(scrollpane); JPanel p=new JPanel();//用来放两个表 p.setLayout(new BorderLayout()); p.add(L,"North"); p.add(scrollpane); cp.add(pp4,"West"); cp.add(p,"Center"); cp.add(jpS,"South"); cp.add(jpE,"East"); //------------------------------------------------ Toolkit kit=Toolkit.getDefaultToolkit(); Dimension screen=kit.getScreenSize(); int x=screen.width; /*取得显示器窗口的宽度*/ int y=screen.height; /*取得显示器窗口的高度*/ f.setSize(400,330); int xcenter=(x-350)/2; int ycenter=(y-330)/2; f.setLocation(xcenter,ycenter);/*显示在窗口中央*/ f.setVisible(true); //------------------------------------------------- jbt1.addActionListener(this);//注册监听器 jbt2.addActionListener(this); jbt3.addActionListener(this); /*f.
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服