Java图书馆管理系统附全代码课程设计报告Word文件下载.docx
《Java图书馆管理系统附全代码课程设计报告Word文件下载.docx》由会员分享,可在线阅读,更多相关《Java图书馆管理系统附全代码课程设计报告Word文件下载.docx(40页珍藏版)》请在冰豆网上搜索。
![Java图书馆管理系统附全代码课程设计报告Word文件下载.docx](https://file1.bdocx.com/fileroot1/2022-12/9/d650fcf6-67c9-413c-9de4-41d39ed3649e/d650fcf6-67c9-413c-9de4-41d39ed3649e1.gif)
6)能够通过读者基本信息(包括:
证号、姓名、性别、系名、年级)单个或以AND方式组合多个条件查询读者信息
7)对于每位读者除可查看其基本信息之外,还可查看其已借的书籍列表、数量、借还日期
8)可增添新的读者
9)可删除已有读者(如该读者有尚未归还的借书,则不允许删除)
10)可修改读者的基本信息
11)可完成借还书籍的手续
12)还书时如超期,应该显示超期天数
13)借书时如果有超期的书没有还,则不允许借书
14)可查询有哪些读者有超期的书没有还,列出这些读者的基本信息
三、实验的环境:
1、硬件环境:
CPU:
Intel(R)Corei5-3230
RAM:
8GB
2、软件环境:
操作系统:
Windows7UltimateSP1
编译软件:
EclipseLuna
MicrosoftSQLServer2014
四、系统ER图
五、表结构定义(使用表格说明)
六、系统功能模块
1)能够通过书籍基本信息单个或组合多个条件查询书籍信息;
6)能够通过读者基本信息单个或组合多个条件查询读者信息
七、程序框架流程图
九、程序运行结果
八、核心代码
import.*;
publicclassAddBookextendsJFrameimplementsActionListener{
SQLOperationop=newSQLOperation();
Containerc=getContentPane();
JPanelp1=newJPanel();
JLabelbookNumber=newJLabel("
BookNumber:
"
);
JLabelbookName=newJLabel("
BookName:
JLabelbookAuthor=newJLabel("
BookAuthor:
JLabelpress=newJLabel("
Press:
JLabelpressTime=newJLabel("
Presstime:
JLabelbookAbstract=newJLabel("
Abstract:
JLabelstorage=newJLabel("
Storage:
JLabelremain=newJLabel("
Remain"
JLabelremain1=newJLabel("
UpdatewithStorage"
JTextFieldnumberField=newJTextField();
JTextFieldnameField=newJTextField();
JTextFieldauthorField=newJTextField();
JTextFieldpressField=newJTextField();
JTextFieldpressTimeField=newJTextField();
JTextFieldabstractField=newJTextField();
JTextFieldstorageField=newJTextField();
JButtoncancel=newJButton("
Cancel"
JButtonconfirm=newJButton("
Confirm!
!
publicAddBook(){
(p1,;
(newGridLayout(9,2,20,10));
(bookNumber);
(numberField);
(bookName);
(nameField);
(bookAuthor);
(authorField);
(press);
(pressField);
(pressTime);
(pressTimeField);
(bookAbstract);
(abstractField);
(storage);
(storageField);
(remain);
(remain1);
(cancel);
(confirm);
(this);
}
publicvoidactionPerformed(ActionEvente){
etText()),
()));
ArrayList<
String>
strArray=newArrayList<
();
strArray=();
intn=0;
intreplicate=0;
while(n<
(0))){
n++;
if().equals(n))){
replicate++;
}
}
if(replicate==0){
(book);
(null,"
Addabooksuccessfully!
"
Information"
;
}else{
(null,
Thisbook(number)hasalreadyexisted!
"
Warning"
;
}
}
publicclassAddReaderextendsJFrameimplementsActionListener{
JLabelreaderNumber=newJLabel("
ReaderNumber:
JLabelreaderName=newJLabel("
ReaderName:
JLabelsex=newJLabel("
Sex:
JLabeldpt=newJLabel("
Department:
JLabelgrade=newJLabel("
Grade:
JTextFieldsexField=newJTextField();
JTextFielddptField=newJTextField();
JTextFieldgradeField=newJTextField();
publicAddReader(){
(newGridLayout(6,2,20,10));
(readerNumber);
(readerName);
(sex);
(sexField);
(dpt);
(dptField);
(grade);
(gradeField);
quals(n))){
if(!
().equals("
boy"
)
&
&
!
girl"
)){
JOptionPane
.showMessageDialog(
null,
"
IntheSexfield,youcanonlyinput'
boy'
or'
girl'
!
}else{
(reader);
(null,
"
Addareadersuccessfully!
;
Thisreader(number)hasalreadyexisted!
importclassBookDetailsextendsJFrameimplementsActionListener{
JPanelp2=newJPanel();
JPanelp3=newJPanel();
JLabelauthor=newJLabel("
Author:
Remain:
JLabelnumberField=newJLabel();
JLabelnameField=newJLabel();
JLabelauthorField=newJLabel();
JLabelpressField=newJLabel();
JLabelpressTimeField=newJLabel();
JLabelabstractField=newJLabel();
JLabelstorageField=newJLabel();
JLabelremainField=newJLabel();
JLabeldetails=newJLabel("
Borrowandreaturndetails"
Object[]s={"
Readernumber"
Borrowtime"
Deadline"
Overtime"
};
Object[][]ob1=newObject[7][4];
JTabletable=newJTable(ob1,s);
JScrollPanescrollPane=newJScrollPane(table);
publicBookDetails(Stringnumber){
BookInfobook=newBookInfo(number);
ob1=(number);
for(inti=0;
i<
5;
i++){
DefaultTableModelbooks=newDefaultTableModel(ob1,s);
for(intn=0;
n<
7;
n++){
for(intm=0;
m<
4;
m++){
ob1[n][m]=[n][m];
(books);
();
ArrayList<
strArray=(book);
(number);
(1));
(2));
(3));
(4));
(5));
(6));
(7));
(p2,;
(p3,;
(author);
(remainField);
(details);
(0,0,800,300);
(scrollPane);
(newDimension(400,100));
;
importBookRetrievalextendsJFrameimplementsActionListener{
JPanelp4=newJPanel();
JPanelp5=newJPanel();
JTextFieldnumber=newJTextField();
JTextFieldname=newJTextField();
JButtonback=newJButton("
Back(Fresh)"
JButtonaddBook=newJButton("
Addabook"
JButtondeleteBook=newJButton("
Deleteabook"
JButtoneditBook=newJButton("
Editabook"
JButtonsearch=newJButton("
Searchfordetails!
JButtonborrowBook=newJButton("
Borrowabook"
JButtonreturnBook=newJButton("
Returnabook"
Fontfont1=newFont("
00"
,20);
Number"
Name"
Author"
Press"
PressTime"
"
Abstract"
Storage"
Object[][]ob=newObject[40][8];
JTabletable=newJTable(ob,s);
publicBookRetrieval(){
BookInfobook=newBookInfo();
ob=(book);
DefaultTableModelbooks=newDefaultTableModel(ob,s);
20;
8;
ob[n][m]=[n][m];
(p4,;
(p5,;
(font1);
(newGridLayout(2,4,20,10));
(back);
(addBook);
(editBook);
(deleteBook);
(borrowBook);
(returnBook);
(null);
(newGridLayout(5,1,0,0));
(name);
(search);
(newDimension(400,300));
if()==search){
Strings1=();
Strings2=();
if(n))){
strArray1=newArrayList<
strArray1=();
intn1=0;
intreplicate1=0;
while(n1<
n1++;
if(n1))){
replicate1++;
if(replicate==0&
replicate1==0){
Pleaseinputacorrectbooknumberorname!
}elseif(replicate!
=0||replicate1!
=0){
if(replicate==0&
replicate1!
BookInfobook=newBookInfo(s1,s2);
Strings=(book);
BookDetailsf=newBookDetails(s);
;
publicclassBorrowBookextendsJFrameimplementsActionListener{
JLabelreaderNumber=newJLab