Java图书管理系统附源码Word文件下载.docx

上传人:b****5 文档编号:16516703 上传时间:2022-11-24 格式:DOCX 页数:35 大小:419.96KB
下载 相关 举报
Java图书管理系统附源码Word文件下载.docx_第1页
第1页 / 共35页
Java图书管理系统附源码Word文件下载.docx_第2页
第2页 / 共35页
Java图书管理系统附源码Word文件下载.docx_第3页
第3页 / 共35页
Java图书管理系统附源码Word文件下载.docx_第4页
第4页 / 共35页
Java图书管理系统附源码Word文件下载.docx_第5页
第5页 / 共35页
点击查看更多>>
下载资源
资源描述

Java图书管理系统附源码Word文件下载.docx

《Java图书管理系统附源码Word文件下载.docx》由会员分享,可在线阅读,更多相关《Java图书管理系统附源码Word文件下载.docx(35页珍藏版)》请在冰豆网上搜索。

Java图书管理系统附源码Word文件下载.docx

程序设计:

主框架设计:

主框架上方包含三个按钮,分别是“系统管理”、“图书信息管理”和“图书流通管理”,定义JMenuBar类的对象、JMenu类的对象和JMenuItem类的对象,分别表示菜单栏、菜单组和菜单选项,然后调用初始化函数,将不同类的对象通过setText()函数设定不同的文本,然后将其添加到窗口容器中。

对每个按钮分别添加不同的消息监听,响应相应的消息,调用不同的类完成不同的功能。

消息监听功能详见源代码bookMain类。

图书信息管理模块包括增加图书,删除图书,编辑图书,查找图书和显示图书信息。

具体的方法实现在bookBean中实现,当用户点击相应的按钮时,消息监听模块就会调用bookBean的构造函数产生一个bookBean的对象,然后通过对象调用bookBean类中的相应方法,完成事件的相应。

增加图书信息模块:

调用bookAdd类的构造函数产生一个该类的对象,在初始化函数中显示信息输入对话框,提示用户输入图书ID,图书名称和图书所有者,由于刚增加的图书没有被借阅,所以图书状态和图书使用者为默认值,分别为空闲和null,因此用户不必输入这两个属性值。

完成输入后,点击确定按钮,消息监听模块将调用bookBean的构造函数产生一个该类的对象,通过该对象调用bookBean的bookAdd函数,执行SQL语句,通过insert语句完成图书信息的增加插入功能。

删除图书信息模块:

调用bookDel类的构造函数产生一个该类的对象,在初始化函数中显示信息输入对话框,提示用户输入要删除图书的ID。

完成输入后,点击确定按钮,消息监听模块将调用bookBean的构造函数产生一个该类的对象,通过该对象调用bookBean的bookDel函数,执行删除的SQL语句,通过delete语句完成图书信息的删除功能。

修改图书信息模块:

点击按钮后调用bookEdit类的构造函数产生一个该类的对象,在初始化函数中显示信息输入对话框,提示用户输入要修改图书的ID和其他图书信息,用户将信息输入完成后,点击确定按钮,消息监听模块将调用bookBean的构造函数产生一个该类的对象,通过该对象调用bookBean的bookEdit函数,执行修改的SQL语句,通过update语句完成图书信息的编辑功能。

查找图书信息模块:

点击按钮后调用bookSearch类的构造函数产生一个该类的对象,在初始化函数中显示信息输入对话框,提示用户输入要查找图书的ID,用户将信息输入完成后,点击确定按钮,消息监听模块将调用bookResult的构造函数产生一个该类的对象,通过该对象的构造函数,执行查找的SQL语句,通过select语句完成图书信息的查找功能,然后构造图标,将查询到的信息显示在图表中。

显示图书信息模块:

点击按钮后调用bookDisplay类的构造函数产生一个该类的对象,在该对象的构造函数中调用bookAllSearch函数,查询所有的图书信息,显示在表格中。

图书流通管理模块包含图书的借阅与归还功能,其实就是对数据库中的某一记录集的某一属性进行修改。

图书借阅模块:

用户输入要借阅的图书名称和本人姓名,点击确定后,将调用bookBean的构造函数产生一个对象,通过该对象调用bookBook函数,修改数据库中的信息,将图书状态属性变为已借,将图书用户属性变为用户姓名,完成图书的借阅功能。

图书归还模块:

用户输入要归还的图书名称,点击确定后,将调用bookBean的构造函数产生一个对象,通过该对象调用bookReturn函数,修改数据库中的信息,把图书的状态置为空闲,将图书用户置为空,从而完成图书的归还功能。

备注:

报告此部分未附源代码,详见程序源码部分。

运行截图:

图书信息增加:

图书信息修改:

图书信息查询:

图书信息删除:

图书信息显示:

图书借阅:

图书归还:

分析总结:

本程序在数据库设计方面可以改为多张表存储的方式,用三张表来记录图书信息,借阅关系和学生信息,这样可以减少数据冗余,还可以增加一些其他功能,比如图书挂失等功能。

由于刚刚接触到Java界面设计,所以本程序在界面设计方面还有有待改进的地方。

程序源码:

DatabaseConn.java

packagebookDB;

importjava.sql.Connection;

importjava.sql.DriverManager;

importjava.sql.ResultSet;

importjava.sql.SQLException;

importjava.sql.Statement;

publicclassDatabaseConn{

privateStatementstmt=null;

ResultSetrs=null;

privateConnectionconn=null;

Stringsql;

publicDatabaseConn(){}

publicvoidOpenConn()throwsException{

try{

Class.forName("

sun.jdbc.odbc.JdbcOdbcDriver"

);

conn=DriverManager.getConnection("

jdbc:

odbc:

library"

}catch(Exceptione){System.err.println("

数据库连接:

"

+e.getMessage());

}

}

publicResultSetexecuteQuery(Stringsql){

stmt=null;

rs=null;

stmt=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);

rs=stmt.executeQuery(sql);

}catch(SQLExceptione){System.err.println("

查询数据:

returnrs;

publicvoidexecuteUpdate(Stringsql){

mit();

更新数据:

publicvoidcloseStmt(){

try{stmt.close();

}catch(SQLExceptione){

System.err.println("

释放对象:

}

publicvoidcloseConn(){

try{conn.close();

}catch(SQLExceptionex){

+ex.getMessage());

publicstaticStringtoGBK(Stringstr){

if(str==null)

str=null;

else

str=newString(str.getBytes("

ISO-8859-1"

),"

GBK"

}catch(Exceptione){System.out.println(e);

returnstr;

importjava.awt.AWTEvent;

importjava.awt.BorderLayout;

importjava.awt.Container;

importjava.awt.Font;

importjava.awt.event.ActionEvent;

importjava.awt.event.ActionListener;

importjava.awt.event.WindowAdapter;

importjava.awt.event.WindowEvent;

importjavax.swing.JFrame;

importjavax.swing.JMenu;

importjavax.swing.JMenuBar;

importjavax.swing.JMenuItem;

bookMain.java

publicclassbookMainextendsJFrameimplementsActionListener{

privatestaticfinallongserialVersionUID=1L;

//----------建立菜单栏----------

JMenuBarmainMenu=newJMenuBar();

//--------------建立系统管理菜单组--------------

JMenumenuSystem=newJMenu();

JMenuItemitemExit=newJMenuItem();

JMenumenubook=newJMenu();

JMenumenuevent=newJMenu();

JMenuItemitemAdd=newJMenuItem();

JMenuItemitemEdit=newJMenuItem();

JMenuItemitemDelete=newJMenuItem();

JMenuItemitemSelect=newJMenuItem();

JMenuItemitemBook=newJMenuItem();

JMenuItemitemReturn=newJMenuItem();

JMenuItemitemDisplay=newJMenuItem();

//------------创建窗体模板对象--------------

publicstaticbookInfom_stu=newbookInfo();

publicbookMain(){

enableEvents(AWTEvent.WINDOW_EVENT_MASK);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

this.pack();

this.setSize(600,480);

this.setTitle("

图书管理系统"

Init();

}catch(Exceptione){e.printStackTrace();

privatevoidInit()throwsException{

ContainercontentPane=this.getContentPane();

contentPane.setLayout(newBorderLayout());

//------添加菜单组-------

menuSystem.setText("

系统操作"

menuSystem.setFont(newFont("

Dialog"

0,12));

menubook.setText("

图书信息管理"

menubook.setFont(newFont("

menuevent.setText("

图书流通管理"

menuevent.setFont(newFont("

//---------生成系统管理菜单组---------

itemExit.setText("

退出"

itemExit.setFont(newFont("

//--------------生成学生菜单组----------------

itemAdd.setText("

增加图书"

itemAdd.setFont(newFont("

itemEdit.setText("

修改信息"

itemEdit.setFont(newFont("

itemDelete.setText("

删除图书"

itemDelete.setFont(newFont("

itemSelect.setText("

查询"

itemSelect.setFont(newFont("

itemDisplay.setText("

显示全部信息"

itemDisplay.setFont(newFont("

//--------------生成管理事务菜单组----------------

itemBook.setText("

图书借阅"

itemBook.setFont(newFont("

itemReturn.setText("

图书归还"

itemReturn.setFont(newFont("

menuSystem.add(itemExit);

menubook.add(itemAdd);

menubook.add(itemEdit);

menubook.add(itemDelete);

menubook.add(itemSelect);

menubook.add(itemDisplay);

menuevent.add(itemBook);

menuevent.add(itemReturn);

//----组合菜单栏---

mainMenu.add(menuSystem);

mainMenu.add(menubook);

mainMenu.add(menuevent);

this.setJMenuBar(mainMenu);

//添加事件监听

itemExit.addActionListener(this);

itemAdd.addActionListener(this);

itemEdit.addActionListener(this);

itemDelete.addActionListener(this);

itemSelect.addActionListener(this);

itemBook.addActionListener(this);

itemReturn.addActionListener(this);

itemDisplay.addActionListener(this);

setVisible(true);

this.addWindowListener(newWindowAdapter(){

publicvoidwindowClosing(WindowEvente){System.exit(0);

});

publicvoidactionPerformed(ActionEvente){

Objectobj=e.getSource();

if(obj==itemExit){System.exit(0);

elseif(obj==itemAdd){

bookAddasi=newbookAdd();

//asi.downInit();

asi.pack();

asi.setVisible(true);

}elseif(obj==itemEdit){

bookEditesi=newbookEdit();

//esi.downInit();

esi.pack();

esi.setVisible(true);

}elseif(obj==itemDelete){

bookDeldsi=newbookDel();

//dsi.downInit();

dsi.pack();

dsi.setVisible(true);

}elseif(obj==itemSelect){

bookSearchsbid=newbookSearch();

sbid.pack();

sbid.setVisible(true);

}elseif(obj==itemBook){

bookBooksboo=newbookBook();

sboo.pack();

sboo.setVisible(true);

}elseif(obj==itemReturn){

bookReturnsre=newbookReturn();

sre.pack();

sre.setVisible(true);

}elseif(obj==itemDisplay){

bookDisplaysre=newbookDisplay();

}

publicstaticvoidmain(String[]args){newbookMain();

bookAdd.java

importjava.awt.*;

importjava.awt.event.*;

importjavax.swing.*;

publicclassbookAddextendsJFrameimplementsActionListener{

Containerc;

JLabeljLabel1=newJLabel();

JLabeljLabel2=newJLabel();

JLabeljLabel3=newJLabel();

JLabeljLabel4=newJLabel();

JLabeljLabel5=newJLabel();

JTextFieldsid=newJTextField(10);

JTextFieldsname=newJTextField(10);

JTextFieldsowner=newJTextField(10);

JTextFieldsstatus=newJTextField(10);

JTextFieldsuser=newJTextField(10);

JButtonaddconfirm=newJButton();

publicbookAdd(){

增加图书信息"

this.setResizable(false);

try{Init();

}catch(Exceptione){e.printStackTrace();

//设置居中

DimensionscreenSize=Toolkit.getDefaultToolkit().getScreenSize();

this.setLocation((int)(screenSize.width-400)/2,(int)(screenSize.height-300)/2+45);

publicvoidInit()throwsException{

this.setSize(300,500);

c=this.getContentPane();

c.setLayout(newFlowLayout());

jLabel1.setText("

图书ID:

"

jLabel1.setFont(newFont("

c.add(jLabel1);

sid.setText(null);

sid.setFont(newFont("

c.add(sid);

jLabel2.setText("

图书名称:

jLabel2.setFont(newFont("

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试认证 > 公务员考试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1