java课程设计图书信息管理系统.docx
《java课程设计图书信息管理系统.docx》由会员分享,可在线阅读,更多相关《java课程设计图书信息管理系统.docx(20页珍藏版)》请在冰豆网上搜索。
java课程设计图书信息管理系统
高级网络程序设计
课程设计报告
班级:
学号:
姓名:
成绩:
2012年3月
报告题目
图书信息管理系统:
要求:
使用图形用户界面
用数据库建立1或2个图书信息表。
能连接数据库并实现查询、增加、删除、修改等功能。
设计思想
首先将添加数据、查询数据、删除数据、修改数据四个功能分别为四个类来实现,每一个类都继承了主窗口类jframe,使得窗口可以独自运行。
主界面设计
功能组件:
4个按钮、1个背景、1个标签文本、1个面板
功能实现:
查询数据、添加数据、删除数据、修改数据
实现过程:
对按钮添加监控,共有4个监控事件,实现按钮事件为创建对应功能的类对象,实现相应的功能窗口。
添加类设计
功能组件:
5个文本域、5个标签、1个按钮
功能实现:
添加数据
实现过程:
对按钮添加监听器,实现按钮事件为获取文本域中的信息,并执行SQL的添加语句。
查询类设计
功能组件:
5个按钮、三个单行文本组件、1个下拉框、1个多行文本
功能实现:
按书号查询、按姓名查询、显示全部
实现过程:
对按钮添加监听器,共有五个监控事件,前三个实现按钮事件为先获取文本域中的信息,根据对应查询的要求执行相应的SQL的Sellect语句;按课程查询通过在下来框中选择对应的选项,即查询相应的课程;第五个查询按钮将全部信息在多行文本框中输出。
修改类设计
功能组件:
5个单行文本、5个标签、1个按钮
功能实现:
修改数据
实现过程:
与添加数据类似,对按钮添加监听器,实现按钮事件为获取文本域中的信息,并执行SQL的Modify语句
删除类设计
功能组件:
1个单行文本、1个标签、1个按钮、1个多行文本
功能实现:
删除数据
实现过程:
与修改数据类似,对按钮添加监听器,实现按钮事件为获取文本域信息,并执行SQL的delete语句;
数据库设计
通过Access工具创建数据库表,命名为library.mdb。
数据库截图如下:
功能实现
1.运行主界面MainWindow.class如图所示:
2.添加功能实现界面:
3.查询功能实现界面:
4.删除功能实现界面:
5.修改功能实现界面:
程序源代码清单
//MainWindow.java
importjava.awt.*;
importjava.awt.event.*;
importjavax.swing.*;
importjavax.swing.border.TitledBorder;
importjava.awt.Color;
importjava.awt.Font;
publicclassMainWindowextendsJFrameimplementsActionListener
{
privatestaticfinallongserialVersionUID=1L;
JLabelmlabel;
JPaneljp=newJPanel();
JButtonbutton1=newJButton("查询管理");
JButtonbutton2=newJButton("添加书籍");
JButtonbutton3=newJButton("删除书籍");
JButtonbutton4=newJButton("修改信息");
publicMainWindow()
{
super("图书管理系统--作者:
崔博");
setSize(400,300);
button1.addActionListener(this);
button2.addActionListener(this);
button3.addActionListener(this);
button4.addActionListener(this);
FontmyFont=newFont("楷体",Font.BOLD,40);
mlabel=newJLabel("图书管理系统");
mlabel.setFont(myFont);
add(mlabel);
this.add(jp);
jp.add(button1);
jp.add(button2);
jp.add(button3);
jp.add(button4);
}
publicvoidactionPerformed(ActionEvente)
{
if(e.getSource()==button1)
{
FindBookfindbook=newFindBook();
findbook.setVisible(true);
}
if(e.getSource()==button2)
{
AddBookaddBook=newAddBook();
addBook.setVisible(true);
}
if(e.getSource()==button3)
{
DeleteBookdelBook=newDeleteBook();
delBook.setVisible(true);
}
if(e.getSource()==button4)
{
ModifyBookmodifyBook=newModifyBook();
modifyBook.setVisible(true);
}
}
publicstaticvoidmain(String[]args)
{
MainWindowmainFrame=newMainWindow();
mainFrame.setLocation(400,150);
mainFrame.setVisible(true);
}
}
//FindBook.java
importjava.awt.*;
importjava.awt.event.*;
importjavax.swing.*;
importjavax.swing.event.*;
importjava.sql.*;
publicclassFindBookextendsJFrameimplementsActionListener
{
DataBaseMangerdb=newDataBaseManger();
ResultSetrs;
JLabelselect=newJLabel("请输入书名或者索书号");
JTextFieldjtf=newJTextField(20);
JPanelp1=newJPanel();
JPanelp2=newJPanel();
JLabellb=newJLabel("书籍信息");
JButtonfindbt=newJButton("查询");
JButtonyesbt=newJButton("确定");
JTextAreajta=newJTextArea(10,20);
publicFindBook()
{
super("查询书籍信息");
Containerc=getContentPane();
p1.add(select);
p1.add(jtf);
p1.add(findbt);
c.add(p1,BorderLayout.NORTH);
p2.add(lb);
p2.add(jta);
p2.add(yesbt);
c.add(p2,BorderLayout.SOUTH);
yesbt.addActionListener(this);
findbt.addActionListener(this);
setSize(500,300);
setVisible(true);
setLocation(400,150);
}
publicvoidactionPerformed(ActionEvente)
{
if(e.getActionCommand()=="确定")
this.dispose();
if(e.getActionCommand()=="查询")
{
Stringbname=jtf.getText();
Stringbno=jtf.getText();
Stringsqlstr;
sqlstr="select*frombookwherebname='"+bname+"'orbno='"+bno+"'";
rs=db.getResult(sqlstr);
try
{
jta.setText("");
if(rs.next())
{
jta.append("索书号为:
"+rs.getString
(1)+","+"书名为:
"+rs.getString
(2)+","+"现有数量为:
"+rs.getString(3)+"\n");
jta.append("作者为:
"+rs.getString(4)+","+"出版社为:
"+rs.getString(5));
}
else
{
jta.append("对不起,没有您要找的书籍!
");
}
}
catch(Exceptionpe)
{
pe.printStackTrace();
}
}
}
}
//AddBook.java
importjava.awt.*;
importjava.awt.event.*;
importjavax.swing.*;
importjavax.swing.event.*;
importjava.sql.*;
publicclassAddBookextendsJFrameimplementsActionListener
{
MainWindowmw=newMainWindow();
DataBaseMangerdb=newDataBaseManger();
ResultSetrs;
JPanelpan1,pan2,pan3,pan4,pan5,pan6,pan7,pan8;
JLabelbname=newJLabel("请输入书名:
");
JLabelbno=newJLabel("请输入索书号:
");
JLabelbnum=newJLabel("请输入书的数量:
");
JLabelauthor=newJLabel("请输入书的作者:
");
JLabelpublisher=newJLabel("请输入出版社:
");
JTextFieldtname=newJTextField(10);
JTextFieldtno=newJTextField(10);
JTextFieldtnum=newJTextField(