收藏 分销(赏)

java专业课程设计小型图书标准管理系统.doc

上传人:精**** 文档编号:2727311 上传时间:2024-06-05 格式:DOC 页数:50 大小:291.04KB 下载积分:16 金币
下载 相关 举报
java专业课程设计小型图书标准管理系统.doc_第1页
第1页 / 共50页
java专业课程设计小型图书标准管理系统.doc_第2页
第2页 / 共50页


点击查看更多>>
资源描述
Java应用课程设计 项目名称:小型图书管理系统 课程名称:Java应用 项目作者:* * * 完成日期: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.addWindowListener(new Window
展开阅读全文

开通  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 

客服