热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

图书馆管理系统功能详解及主要代码

本文介绍了一款功能强大的图书馆管理系统,包括系统的概述、技术实现、功能详解等内容。其中包括基础维护、读者维护、借阅管理、查询管理和系统管理等功能。同时还提供了系统的运行截图和主要代码。通过本文的介绍,读者可以了解到该图书馆管理系统的具体功能和实现方式。

查看更多系统:系统大全,课程设计、毕业设计,请点击这里查看

01 概述

一款功能强大的图书馆管理系统,功能齐全,小白/大学生项目实训,学习的不二之选。

02 技术

此系统使用 java awt 实现。java.awt是一个软件包,包含用于创建用户界面和绘制图形图像的所有分类。在AWT术语中,诸如按钮或滚动条之类的用户界面对象称为组件。Component类是所有 AWT 组件的根。

03 功能详解

基础维护

图书维护
  • 添加:输入图书编号、图书名称、图书页数、图书作者、出版社、库存数量、所属类型等图书信息,点击Save按钮添加新图书。
  • 修改:首先根据图书编号查询到所要修改的图书,然后对图书的名称、图书页数、作者、出版时间、定价、库存等信息进行修改。
  • 删除:首先根据图书编号查询到所要删除的图书,然后进行删除操作。
读者维护
  • 添加:输入读者编号、读者姓名、读者类别、读者性别、可借天数等信息,然后点击“Add”按钮添加新读者。
  • 修改:首先根据读者编号查询到要修改的读者信息,再对读者编号、读者姓名、读者类别、读者性别、可借天数等信息进行修改,修改完成点击“保存”按钮完成修改。
  • 删除:首先根据读者编号查询到要删除的读者信息,然后进行删除操作。

借阅管理

  • 借书管理:首先根据图书编号和读者编号查询到图书和读者信息,在点击“借出”按钮完成借书。
  • 还书管理:首先根据图书编号和读者编号查询到图书和读者信息,在点击“还书”按钮完成还书。

查询管理

  • 图书查询:输入图书名称、作者、出版时间中的任意一项,点击“查询”按钮查询图书。
  • 读者查询:输入读者姓名、读者类型中的任意一项,点击“查询”按钮查询读者。

系统管理

  • 修改密码:首先输入旧密码等待校验,旧密码输入正确后即可设定新的密码。
  • 退出系统:退出图书管理系统程序。

04 运行截图

添加图书

在这里插入图片描述

添加读者

在这里插入图片描述

借书管理

在这里插入图片描述

图书查询

在这里插入图片描述

修改密码

在这里插入图片描述

05 主要代码

添加图书

package com.jason.frame;//com.jason.frame.BookAdd.java import java.awt.*; import java.awt.event.*; import java.sql.ResultSet; import java.sql.SQLException; import java.text.ParseException; import java.text.SimpleDateFormat; import javax.swing.JOptionPane; public class BookAdd extends Frame implements ActionListener{ Toolkit tool= getToolkit(); String url="src/bookbk.png"; Image img=tool.getImage(url); public void paint(Graphics g){ g.drawImage(img,0,0,this); } public void clearAndSetBookId(){ for(int j=0;j240){ lx=50; ly=ly+30; } booklb[i]=new Label(lbname[i]); booklb[i].setBounds(lx,ly,50,20); booktxt[i]=new TextField(); booktxt[i].setBounds(lx+60,ly,100,20); lx=lx+190; add(booklb[i]);add(booktxt[i]); } booktxt[0].setEditable(false); booktxt[0].setText(str); booktxt[9].setVisible(false); booktype.setBounds(300,170,100,20); add(booktype); savebtn.setBounds(150,210,80,25); closebtn.setBounds(280,210,80,25); add(savebtn);add(closebtn); addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent e){ DbOp.close(); dispose(); } }); savebtn.addActionListener(this); closebtn.addActionListener(this); setLocationRelativeTo(null); setVisible(true); } public static String getInsertOrderedList(){ String returnstring=""; String sql="select * from book"; try{ int count=0; ResultSet rs=DbOp.executeQuery(sql); while(rs.next()){ count++; } String[] allid=new String[count]; int[] intofid=new int[count]; int i=0; ResultSet rs1=DbOp.executeQuery(sql); while(rs1.next()){ allid[i]=rs1.getString("id"); String mystr=allid[i].substring(1); intofid[i]=Integer.parseInt(mystr); i++; } int temp=-1; for(int j=0;jtemp){ temp=intofid[j]; } } returnstring=String.valueOf(temp+1); int len=returnstring.length(); for(int f=0;f<5-len;f++){ returnstring="0"+returnstring; } returnstring="A"+returnstring; DbOp.close(); }catch(SQLException ee){ } return returnstring; } public void actionPerformed(ActionEvent e){ Object ob=e.getSource(); if(ob==savebtn){ savebtnActionPerformed(); clearAndSetBookId(); } if(ob==closebtn){ DbOp.close(); dispose(); } } public void savebtnActionPerformed(){ String id=booktxt[0].getText(); String typestr=booktype.getSelectedItem().toString(); String[] inputstring=new String[9]; boolean emptyequals=false; for(int i=0;i

添加读者

package com.jason.frame;//com.jason.frame.ReaderAdd.java import java.awt.*; import java.awt.event.*; import java.sql.ResultSet; import java.sql.SQLException; import javax.swing.JOptionPane; public class ReaderAdd extends Frame{ Toolkit tool= getToolkit(); String url="src/bookbk.png"; Image img=tool.getImage(url); public void paint(Graphics g){ g.drawImage(img,0,0,this); } public void clearAndSetReaderId(){ for(int j=0;j240){ ly=ly+30; lx=50; } readerlb[i]=new Label(labelsign[i]); readertxt[i]=new TextField(); readerlb[i].setBounds(lx,ly,50,20); readertxt[i].setBounds(lx+60,ly,100,20); lx=lx+190; add(readerlb[i]); add(readertxt[i]); } readertxt[0].setEditable(false); readertxt[0].setText(str); readertype=new Choice(); readertype.add("教师"); readertype.add("学生"); readertype.add("作家"); readertype.add("职工"); readertype.add("其他"); readersex=new Choice(); readersex.add("男"); readersex.add("女"); readertxt[2].setVisible(false); readertxt[3].setVisible(false); readertype.setBounds(110,80,100,20); readersex.setBounds(300,80,100,20); add(readertype);add(readersex); querybtn=new Button("Add"); closebtn=new Button("Close"); querybtn.setBounds(130,140,50,20); closebtn.setBounds(310,140,50,20); add(querybtn);add(closebtn); querybtn.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){ updateActionPerformed(e); clearAndSetReaderId(); } }); closebtn.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){ DbOp.close(); dispose(); //System.exit(0); } }); addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent e){ DbOp.close(); dispose(); //System.exit(0); } }); setLocationRelativeTo(null); setVisible(true); } public static String getInsertOrderedList(){ String returnstring=""; String sql="select * from reader"; try{ int count=0; ResultSet rs=DbOp.executeQuery(sql); while(rs.next()){ count++; } String[] allid=new String[count]; int[] intofid=new int[count]; int i=0; ResultSet rs1=DbOp.executeQuery(sql); while(rs1.next()){ allid[i]=rs1.getString("id"); intofid[i]=Integer.parseInt(allid[i]); i++; } int temp=-1; for(int j=0;jtemp){ temp=intofid[j]; } } returnstring=String.valueOf(temp+1); int len=returnstring.length(); for(int f=0;f<5-len;f++){ returnstring="0"+returnstring; } DbOp.close(); }catch(SQLException ee){ } return returnstring; } public static void updateActionPerformed(ActionEvent e){ String[] readerstr=new String[6]; readerstr[2]=readertype.getSelectedItem().toString(); readerstr[3]=readersex.getSelectedItem().toString(); for(int i=0;i

修改密码

package com.jason.frame;//com.jason.frame.ChangePassWord.java; import java.awt.*; import java.awt.event.*; import java.sql.ResultSet; import java.sql.SQLException; import javax.swing.JOptionPane; public class ChangePassWord extends Frame{ String[] sign={"旧密码:","设定新密码:","重复新密码:"}; Label[] textlb=new Label[3]; TextField[] passtxt=new TextField[3]; Button reset=new Button("新密码设定"); public ChangePassWord(){ setTitle("修改密码"); setSize(300,250); setLayout(null); setResizable(false); int y=50; for(int i=0;i<3;i++){ textlb[i]=new Label(sign[i]); passtxt[i]=new TextField(); textlb[i].setBounds(50,y,80,20); passtxt[i].setBounds(130,y,100,20); passtxt[i].setEchoChar('●'); add(textlb[i]);add(passtxt[i]); y=y+50; } reset.setBounds(110,200,80,20); add(reset); setLocationRelativeTo(null); reset.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){ setNewPassWord(e); } }); addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent e){ System.exit(0); } }); setVisible(true); } public void setNewPassWord(ActionEvent e){ String[] password=new String[3]; String sql; for (int i=0;i

06 源码下载

关注公众号【C you again】,回复“Java GUI图书管理系统”免费领取。
亦可直接扫描主页二维码关注,回复“Java GUI图书管理系统”免费领取,点此打开个人主页

说明:此源码来源于网络,若有侵权,请联系删除!!

作者: C you again,从事软件开发 努力在IT搬砖路上的技术小白
公众号:C you again】,分享计算机类毕业设计源码、IT技术文章、游戏源码、网页模板、程序人生等等。公众号回复 【粉丝】进博主技术群,与大佬交流,领取干货学习资料
关于转载:欢迎转载博主文章,转载时表明出处
求赞环节:创作不易,记得 点赞+评论+转发> 谢谢你一路支持


推荐阅读
author-avatar
苦柚甜甜
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有