版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
./《數(shù)據(jù)庫系統(tǒng)概論》課程報告課題名稱:小型圖書管理系統(tǒng)課題負責人名〔學號:best同組成員名單〔角色:指導(dǎo)教師:評閱成績:評閱意見:提交報告時間:2015年12月15日小型圖書管理系統(tǒng)計算機科學與技術(shù)專業(yè)學生指導(dǎo)老師[摘要]隨著計算機技術(shù)的飛速發(fā)展,利用計算機來獲得和處理信息是當今信息管理的一大特點。伴隨計算機硬件的快速發(fā)展,有關(guān)信息管理的軟件——數(shù)據(jù)庫系統(tǒng)軟件也在迅猛發(fā)展著。圖書館是高等院校的重要組成部門,是教師和學生獲取知識的重要場所。由于圖書館主要從事大量的圖書資料的儲存和流通。所以一直以來,計算機在圖書館的圖書管理中得到了廣泛的應(yīng)用。本系統(tǒng)實現(xiàn)圖書信息管理的系統(tǒng)化,規(guī)范化和自動化,以最大程度提高操作人員的辦公效率。關(guān)鍵詞:JAVA、JDBC、SQLServer、數(shù)據(jù)庫、圖書館管理一、實驗題目:小型圖書管理系統(tǒng)二、實驗的目的和要求:完成一個小型圖書管理系統(tǒng),功能要求如下:能夠通過書籍基本信息〔包括:書號、書名、出版社、出版日期、作者、內(nèi)容摘要單個或以AND方式組合多個條件查詢書籍信息;對于每一種書籍,除可查看其基本信息之外還可查看其總數(shù)以及目前在館數(shù)量可增添新的書籍可刪除已有書籍〔如有讀者借了該書籍尚未歸還,則不允許刪除可修改書籍的基本信息能夠通過讀者基本信息〔包括:證號、姓名、性別、系名、年級單個或以AND方式組合多個條件查詢讀者信息對于每位讀者除可查看其基本信息之外,還可查看其已借的書籍列表、數(shù)量、借還日期可增添新的讀者可刪除已有讀者〔如該讀者有尚未歸還的借書,則不允許刪除可修改讀者的基本信息可完成借還書籍的手續(xù)還書時如超期,應(yīng)該顯示超期天數(shù)借書時如果有超期的書沒有還,則不允許借書可查詢有哪些讀者有超期的書沒有還,列出這些讀者的基本信息三、實驗的環(huán)境:1、硬件環(huán)境:CPU:Intel<R>Corei5-32302.60GHzRAM:8GB2、軟件環(huán)境:操作系統(tǒng):Windows7UltimateSP1編譯軟件:EclipseLunaMicrosoftSQLServer2014四、系統(tǒng)ER圖五、表結(jié)構(gòu)定義〔使用表格說明六、系統(tǒng)功能模塊能夠通過書籍基本信息單個或組合多個條件查詢書籍信息;對于每一種書籍,除可查看其基本信息之外還可查看其總數(shù)以及目前在館數(shù)量可增添新的書籍可刪除已有書籍〔如有讀者借了該書籍尚未歸還,則不允許刪除可修改書籍的基本信息能夠通過讀者基本信息單個或組合多個條件查詢讀者信息對于每位讀者除可查看其基本信息之外,還可查看其已借的書籍列表、數(shù)量、借還日期可增添新的讀者可刪除已有讀者〔如該讀者有尚未歸還的借書,則不允許刪除可修改讀者的基本信息可完成借還書籍的手續(xù)還書時如超期,應(yīng)該顯示超期天數(shù)借書時如果有超期的書沒有還,則不允許借書可查詢有哪些讀者有超期的書沒有還,列出這些讀者的基本信息七、程序框架流程圖九、程序運行結(jié)果八、核心代碼AddBook.javaimportjava.awt.BorderLayout;importjava.awt.Container;importjava.awt.GridLayout;importjava.awt.event.*;importjava.util.ArrayList;importjavax.swing.*;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<>{c.add<p1,BorderLayout.NORTH>;p1.setLayout<newGridLayout<9,2,20,10>>;p1.add<bookNumber>;p1.add<numberField>;p1.add<bookName>;p1.add<nameField>;p1.add<bookAuthor>;p1.add<authorField>;p1.add<press>;p1.add<pressField>;p1.add<pressTime>;p1.add<pressTimeField>;p1.add<bookAbstract>;p1.add<abstractField>;p1.add<storage>;p1.add<storageField>;p1.add<remain>;p1.add<remain1>;p1.add<cancel>;p1.add<confirm>;cancel.addActionListener<this>;confirm.addActionListener<this>; }publicvoidactionPerformed<ActionEvente>{//TODOAuto-generatedmethodstubif<e.getSource<>==cancel>{this.dispose<>; }if<e.getSource<>==confirm>{this.dispose<>; BookInfobook=newBookInfo<numberField.getText<>,nameField.getText<>,authorField.getText<>,pressField.getText<>,pressTimeField.getText<>,abstractField.getText<>,Integer.parseInt<storageField .getText<>>, Integer.parseInt<storageField.getText<>>>; ArrayList<String>strArray=newArrayList<String><>;strArray=op.addBookJudgement<>;intn=0;intreplicate=0;while<n<Integer.parseInt<strArray.get<0>>>{n++;if<numberField.getText<>.equals<strArray.get<n>>>{replicate++; } }if<replicate==0>{op.saveBook<book>; JOptionPane.showMessageDialog<null,"Addabooksuccessfully!","Information",JOptionPane.INFORMATION_MESSAGE>; }else{ JOptionPane.showMessageDialog<null,"Thisbook<number>hasalreadyexisted!","Warning", JOptionPane.INFORMATION_MESSAGE>; } } }}AddReader.javaimportjava.awt.BorderLayout;importjava.awt.Container;importjava.awt.GridLayout;importjava.awt.event.*;importjava.util.ArrayList;importjavax.swing.*;publicclassAddReaderextendsJFrameimplementsActionListener{ SQLOperationop=newSQLOperation<>; Containerc=getContentPane<>; JPanelp1=newJPanel<>; JLabelreaderNumber=newJLabel<"ReaderNumber:">; JLabelreaderName=newJLabel<"ReaderName:">; JLabelsex=newJLabel<"Sex:">; JLabeldpt=newJLabel<"Department:">; JLabelgrade=newJLabel<"Grade:">; JTextFieldnumberField=newJTextField<>; JTextFieldnameField=newJTextField<>; JTextFieldsexField=newJTextField<>; JTextFielddptField=newJTextField<>; JTextFieldgradeField=newJTextField<>; JButtoncancel=newJButton<"Cancel">; JButtonconfirm=newJButton<"Confirm!!">;publicAddReader<>{c.add<p1,BorderLayout.NORTH>;p1.setLayout<newGridLayout<6,2,20,10>>;p1.add<readerNumber>;p1.add<numberField>;p1.add<readerName>;p1.add<nameField>;p1.add<sex>;p1.add<sexField>;p1.add<dpt>;p1.add<dptField>;p1.add<grade>;p1.add<gradeField>;p1.add<cancel>;p1.add<confirm>;cancel.addActionListener<this>;confirm.addActionListener<this>; }publicvoidactionPerformed<ActionEvente>{//TODOAuto-generatedmethodstubif<e.getSource<>==cancel>{this.dispose<>; }if<e.getSource<>==confirm>{this.dispose<>; ReaderInforeader=newReaderInfo<numberField.getText<>,nameField.getText<>,sexField.getText<>,dptField.getText<>,Integer.parseInt<gradeField.getText<>>>; ArrayList<String>strArray=newArrayList<String><>;strArray=op.addReaderJudgement<>;intn=0;intreplicate=0;while<n<Integer.parseInt<strArray.get<0>>>{n++;if<numberField.getText<>.equals<strArray.get<n>>>{replicate++; } }if<replicate==0>{if<!sexField.getText<>.equals<"boy"> &&!sexField.getText<>.equals<"girl">>{ JOptionPane .showMessageDialog<null,"IntheSexfield,youcanonlyinput'boy'or'girl'!","Warning",JOptionPane.INFORMATION_MESSAGE>; }else{op.saveReader<reader>; JOptionPane.showMessageDialog<null,"Addareadersuccessfully!","Information", JOptionPane.INFORMATION_MESSAGE>; } }else{ JOptionPane.showMessageDialog<null,"Thisreader<number>hasalreadyexisted!","Warning", JOptionPane.INFORMATION_MESSAGE>; } } }}BookDetails.javaimportjava.awt.BorderLayout;importjava.awt.Container;importjava.awt.Dimension;importjava.awt.GridLayout;importjava.awt.event.*;importjava.util.ArrayList;importjavax.swing.*;importjavax.swing.table.DefaultTableModel;publicclassBookDetailsextendsJFrameimplementsActionListener{ SQLOperationop=newSQLOperation<>; Containerc=getContentPane<>; JPanelp1=newJPanel<>; JPanelp2=newJPanel<>; JPanelp3=newJPanel<>; JLabelbookNumber=newJLabel<"BookNumber:">; JLabelbookName=newJLabel<"BookName:">; JLabelauthor=newJLabel<"Author:">; JLabelpress=newJLabel<"Press:">; JLabelpressTime=newJLabel<"Presstime:">; JLabelbookAbstract=newJLabel<"Abstract:">; JLabelstorage=newJLabel<"Storage:">; JLabelremain=newJLabel<"Remain:">; JLabelnumberField=newJLabel<>; JLabelnameField=newJLabel<>; JLabelauthorField=newJLabel<>; JLabelpressField=newJLabel<>; JLabelpressTimeField=newJLabel<>; JLabelabstractField=newJLabel<>; JLabelstorageField=newJLabel<>; JLabelremainField=newJLabel<>; JButtoncancel=newJButton<"Cancel">; 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=op.borrowListForBook<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]=this.ob1[n][m]; }table.setModel<books>;table.invalidate<>; } } ArrayList<String>strArray=newArrayList<String><>;strArray=op.outputBook<book>;numberField.setText<number>;nameField.setText<strArray.get<1>>;authorField.setText<strArray.get<2>>;pressField.setText<strArray.get<3>>;pressTimeField.setText<strArray.get<4>>;abstractField.setText<strArray.get<5>>;storageField.setText<strArray.get<6>>;remainField.setText<strArray.get<7>>;c.add<p1,BorderLayout.NORTH>;c.add<p2,BorderLayout.CENTER>;c.add<p3,BorderLayout.SOUTH>;p1.setLayout<newGridLayout<9,2,20,10>>;p1.add<bookNumber>;p1.add<numberField>;p1.add<bookName>;p1.add<nameField>;p1.add<author>;p1.add<authorField>;p1.add<press>;p1.add<pressField>;p1.add<pressTime>;p1.add<pressTimeField>;p1.add<bookAbstract>;p1.add<abstractField>;p1.add<storage>;p1.add<storageField>;p1.add<remain>;p1.add<remainField>;p1.add<details>;scrollPane.setBounds<0,0,800,300>;p2.add<scrollPane>;p3.add<cancel>;table.setPreferredScrollableViewportSize<newDimension<400,100>>;cancel.addActionListener<this>; }publicvoidactionPerformed<ActionEvente>{//TODOAuto-generatedmethodstubif<e.getSource<>==cancel>{this.dispose<>; } }}BookInfo.javapublicclassBookInfo{privateStringnumber,name,author,press,pressTime,bookAbstract;privateinttotal,remain;//defaultconstructorpublicBookInfo<>{ }publicBookInfo<Stringnumber>{this.number=number; }publicBookInfo<Stringnumber,Stringname>{this.number=number;=name; }publicBookInfo<Stringnumber,Stringname,Stringauthor,Stringpress, StringpressTime,StringbookAbstract,inttotal,intremain>{this.number=number;=name;this.author=author;this.press=press;this.pressTime=pressTime;this.bookAbstract=bookAbstract;this.total=total;this.remain=remain; }publicvoidsetRemain<inti>{this.remain=i; }publicStringgetNumber<>{returnnumber; }publicStringgetName<>{returnname; }publicStringgetAuthor<>{returnauthor; }publicStringgetPress<>{returnpress; }publicStringgetPressTime<>{returnpressTime; }publicStringgetBookAbstract<>{returnbookAbstract; }publicintgetTotal<>{returntotal; }publicintgetRemain<>{returnremain; }}BookRetrieval.javaimportjava.awt.BorderLayout;importjava.awt.Container;importjava.awt.Dimension;importjava.awt.Font;importjava.awt.GridLayout;importjava.awt.event.*;importjava.util.ArrayList;importjavax.swing.*;importjavax.swing.table.DefaultTableModel;classBookRetrievalextendsJFrameimplementsActionListener{ SQLOperationop=newSQLOperation<>; Containerc=getContentPane<>; JPanelp1=newJPanel<>; JPanelp4=newJPanel<>; JPanelp5=newJPanel<>; JLabelbookNumber=newJLabel<"BookNumber:">; JLabelbookName=newJLabel<"BookName:">; 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",Font.BOLD,20>; Object[]s={"Number","Name","Author","Press","PressTime","Abstract","Storage","Remain"}; Object[][]ob=newObject[40][8]; JTabletable=newJTable<ob,s>; JScrollPanescrollPane=newJScrollPane<table>;publicBookRetrieval<>{ BookInfobook=newBookInfo<>;ob=op.allBook<book>;for<inti=0;i<5;i++>{ DefaultTableModelbooks=newDefaultTableModel<ob,s>;for<intn=0;n<20;n++>{for<intm=0;m<8;m++>{ob[n][m]=this.ob[n][m]; }table.setModel<books>;table.invalidate<>; } }c.add<p4,BorderLayout.NORTH>;c.add<p1,BorderLayout.CENTER>;c.add<p5,BorderLayout.SOUTH>;search.setFont<font1>;p4.setLayout<newGridLayout<2,4,20,10>>;p4.add<back>;p4.add<addBook>;p4.add<editBook>;p4.add<deleteBook>;p4.add<borrowBook>;p4.add<returnBook>;p1.setLayout<null>;scrollPane.setBounds<0,0,800,300>;p1.add<scrollPane>;p5.setLayout<newGridLayout<5,1,0,0>>;p5.add<bookNumber>;p5.add<number>;p5.add<bookName>;p5.add<name>;p5.add<search>;table.setPreferredScrollableViewportSize<newDimension<400,300>>;addBook.addActionListener<this>;search.addActionListener<this>;back.addActionListener<this>;deleteBook.addActionListener<this>;editBook.addActionListener<this>;borrowBook.addActionListener<this>;returnBook.addActionListener<this>; }publicvoidactionPerformed<ActionEvente>{if<e.getSource<>==search>{ ArrayList<String>strArray=newArrayList<String><>;strArray=op.addBookJudgement<>; Strings1=number.getText<>; Strings2=name.getText<>;intn=0;intreplicate=0;while<n<Integer.parseInt<strArray.get<0>>>{n++;if<s1.equals<strArray.get<n>>>{replicate++; } } ArrayList<String>strArray1=newArrayList<String><>;strArray1=op.addBookJudgement1<>;intn1=0;intreplicate1=0;while<n1<Integer.parseInt<strArray1.get<0>>>{n1++;if<s2.equals<strArray1.get<n1>>>{replicate1++; } }if<replicate==0&&replicate1==0>{ JOptionPane.showMessageDialog<null,"Pleaseinputacorrectbooknumberorname!","Warning",JOptionPane.INFORMATION_MESSAGE>; }elseif<replicate!=0||replicate1!=0>{if<replicate==0&&replicate1!=0>{ BookInfobook=newBookInfo<s1,s2>; Strings=op.searchBookByName<book>; BookDetailsf=newBookDetails<s>;//f.setDefaultCloseOperation<JFrame.EXIT_ON_CLOSE>;f.setTitle<"BookDetails">;f.setLocation<300,200>;f.setSize<480,470>;f.setVisible<true>; }elseif<replicate!=0>{ BookDetailsf=newBookDetails<s1>;//f.setDefaultCloseOperation<JFrame.EXIT_ON_CLOSE>;f.setTitle<"BookDetails">;f.setLocation<300,200>;f.setSize<480,470>;f.setVisible<true>; } } }if<e.getSource<>==back>{this.dispose<>; MyFramef=newMyFrame<>;//f.setDefaultCloseOperation<JFrame.EXIT_ON_CLOSE>;f.setTitle<"LibraryManagementSystem">;f.setLocation<300,200>;f.setSize<580,300>;f.setVisible<true>; }if<e.getSource<>==addBook>{ AddBookf=newAddBook<>;//f.setDefaultCloseOperation<JFrame.EXIT_ON_CLOSE>;f.setTitle<"Addabook">;f.setLocation<300,200>;f.setSize<300,400>;f.setVisible<true>; }if<e.getSource<>==deleteBook>{ DeleteBookf=newDeleteBook<>;//f.setDefaultCloseOperation<JFrame.EXIT_ON_CLOSE>;f.setTitle<"Deleteabook">;f.setLocation<300,200>;f.setSize<300,200>;f.setVisible<true>; }if<e.getSource<>==borrowBook>{ BorrowBookf=newBorrowBook<>;//f.setDefaultCloseOperation<JFrame.EXIT_ON_CLOSE>;f.setTitle<"Borrowabook">;f.setLocation<300,200>;f.setSize<300,200>;f.setVisible<true>; }if<e.getSource<>==returnBook>{ ReturnBookf=newReturnBook<>;//f.setDefaultCloseOperation<JFrame.EXIT_ON_CLOSE>;f.setTitle<"Returnabook">;f.setLocation<300,200>;f.setSize<300,200>;f.setVisible<true>; }if<e.getSource<>==editBook>{ SelectEditf=newSelectEdit<>;//f.setDefaultCloseOperation<JFrame.EXIT_ON_CLOSE>;f.setTitle<"Editabook">;f.setLocation<300,200>;f.setSize<300,200>;f.setVisible<true>; } }}BorrowBook.javaimportjava.awt.BorderLayout;importjava.awt.Container;importjava.awt.GridLayout;importjava.awt.event.*;importjava.util.ArrayList;importjavax.swing.*;publicclassBorrowBookextendsJFrameimplementsActionListener{ SQLOperationop=newSQLOperation<>; Containerc=getContentPane<>; JPanelp1=newJPanel<>; JLabelbookNumber=newJLabel<"BookNumber:">; JTextFieldnumberField=newJTextField<>; JLabelreaderNumber=newJLabel<"ReaderNumber:">; JTextFieldreaderNumberField=newJTextField<>; JButtoncancel=newJButton<"Cancel">; JButtonborrow=newJButton<"Borrow!!">;publicBorrowBook<>{c.add<p1,BorderLayout.NORTH>;p1.setLayout<newGridLayout<3,2,20,10>>;p1.add<bookNumber>;p1.add<numberField>;p1.add<readerNumber>;p1.add<readerNumberField>;p1.add<cancel>;p1.add<borrow>;cancel.addActionListener<this>;borrow.addActionListener<this>; }publicvoidactionPerformed<ActionEvente>{//TODOAuto-generatedmethodstubif<e.getSource<>==cancel>{this.dispose<>; }if<e.getSource<>==borrow>{ StringbookNumber=numberField.getText<>; ArrayList<String>strArray=newArrayList<String><>;strArray=op.addBookJudgement<>;intn=0;intreplicate=0;while<n<Integer.parseInt<strArray.get<0>>>{n++;if<bookNumber.equals<strArray.get<n>>>{replicate++; } } StringreaderNumber=readerNumberField.getText<>; ArrayList<String>strArray1=newArrayList<String><>;strArray1=op.addReaderJudgement<>;intn1=0;intreplicate1=0;while<n1<Integer.parseInt<strArray1.get<0>>>{n1++;if<readerNumber.equals<strArray1.get<n1>>>{replicate1++; } }if<replicate==0||replicate1==0>{ JOptionPane .showMessageDialog<null,"Pleaseinputacorrectbooknumberandareadernumber!","Warning",JOptionPane.INFORMATION_MESSAGE>; }else{ BookInfobook=newBookInfo<bookNumber>; ArrayList<String>s=newArrayList<String><>;s=op.outputBook<book>;if<Integer.parseInt<s.get<7>>>0>{ints1=op.reBorrowCheck<numberField.getText<>,readerNumberField.getText<>>;if<s1==1>{ JOptionPane .showMessageDialog<null,"Youhaveborrowedthisbook,cannotreborrowit!","Unsuccessful", JOptionPane.INFORMATION_MESSAGE>; }else{longcurrentTime=System.currentTimeMillis<>;if<op.deadLineCheck<readerNumberField.getText<>,currentTime>!=0>{ JOptionPane .showMessageDialog<null,"Youhaveexceededthedeadline,pleasereturnthesebooksfirst!","Unsuccessful", JOptionPane.INFORMATION_MESSAGE>; }else{ BookInfobook1=newBookInfo<s.get<0>,s.get<1>,s.get<2>,s.get<3>,s.get<4>,s.get<5>, Integer.parseInt<s.get<6>>, Integer.parseInt<s.get<7>>-1>;op.inputBook<book1>; StringborrowTime=Long.toString<System .currentTimeMillis<>>; Stringdeadline=Long.toString<System .currentTimeMillis<>+2592000000l>; System.out.println<borrowTime>; System.out.println<deadline>;op.insertBorrow<numberField.getText<>,readerNumberField.getText<>,borrowTime,deadline>; JOptionPane .showMessageDialog<null,"Borrowedthisbooksuccessfully,youhave30daystoenjoythisbook!","Successful", JOptionPane.INFORMATION_MESSAGE>; } } }else{ JOptionPane.showMessageDialog<null,"Thisbookhasbeenborrowed!","Unsuccessful", JOptionPane.INFORMATION_MESSAGE>; } }this.dispose<>; } }}BorrowList.Javaimportjava.awt.BorderLayout;importjava.awt.Container;importjava.awt.Dimension;import;import;importjava.awt.event.*;import;importjavax.swing.*;importjavax.swing.table.DefaultTableModel;publicclassBorrowListextendsJFrameimplementsActionListener{ SQLOperationop=newSQLOperation<>; Containerc=getContentPane<>; JPanelp1=newJPanel<>; JPanelp2=newJPanel<>; JButtonback=newJButton<"Back">; Object[]s={"Booknumber","Readernumber","Borrowtime","Deadline","OverTime"}; Object[][]ob=newObject[100][5]; JTabletable=newJTable<ob,s>; JScrollPanescrollPane=newJScrollPane<table>;publicBorrowList<>{//TODOAuto-generatedconstructorstub Object[][]ob1=op.borrowList<>;for<inti=0;i<5;i++>{ DefaultTableModellist=newDefaultTableModel<ob,s>;for<intn=0;n<100;n++>{for<intm=0;m<5;m++>{ob[n][m]=ob1[n][m]; }table.setModel<list>;table.invalidate<>; } }c.add<p1,BorderLayout.CENTER>;c.add<p2,BorderLayout.SOUTH>;scrollPane.setBounds<0,0,800,300>;p1.add<scrollPane>;p2.add<back>;table.setPreferredScrollableViewportSize<newDimension<400,400>>;back.addActionListener<this>; }publicvoidactionPerformed<ActionEvente>{if<e.getSource<>==back>{this.dispose<>; MyFramef=newMyFrame<>;f.setDefaultCloseOperation<JFrame.EXIT_ON_CLOSE>;f.setTitle<"LibraryManagementSystem">;f.setLocation<300,200>;f.setSize<580,300>;f.setVisible<true>; }//TODOAuto-generatedmethodstub }}Date.javaimportjava.text.DateFormat;importjava.text.SimpleDateFormat;publicclassDate{publicDate<>{ }staticStringborrowTimeInterface<longtime>{ SimpleDateFormatdf=<SimpleDateFormat>DateFormat.getInstance<>;df.applyPattern<"yyyy-MM-dd">; Strings=df.format<time>;returns; }}DeleteBook.javaimportjava.awt.BorderLayout;importjava.awt.Container;importjava.awt.GridLayout;importjava.awt.event.*;importjavax.swing.*;publicclassDeleteBookextendsJFrameimplementsActionListener{ SQLOperationop=newSQLOperation<>; Containerc=getContentPane<>; JPanelp1=newJPanel<>; JLabelbookNumber=newJLabel<"BookNumber:">; JTextFieldnumberField=newJTextField<>; JButtoncancel=newJButton<"Cancel">; JButtondelete=newJButton<"Delete!!">;publicDeleteBook<>{c.add<p1,BorderLayout.NORTH>;p1.setLayout<newGridLayout<2,2,20,10>>;p1.add<bookNumber>;p1.add<numberField>;p1.add<cancel>;p1.add<delete>;cancel.addActionListener<this>;delete.addActionListener<this>; }publicvoidactionPerformed<ActionEvente>{//TODOAuto-generatedmethodstubif<e.getSource<>==cancel>{this.dispose<>; }if<e.getSource<>==delete>{ BookInfobook=newBookInfo<numberField.getText<>>;this.dispose<>;if<op.deleteBookCheck<numberField.getText<>>!=0>{ JOptionPane .showMessageDialog<null,"Deletethebookunsuccessfully.Thebookbasbeenborrowed!","Warning",JOptionPane.INFORMATION_MESSAGE>; }else{if<op.deleteBook<book>==1>{ JOptionPane.showMessageDialog<null,"Deletethebooksuccessfully!","Information", JOptionPane.INFORMATION_MESSAGE>; }else{ JOptionPane .showMessageDialog<null,"Deletethebookunsuccessfully.Thebookdoesnotexist!","Warning",JOptionPane.INFORMATION_MESSAGE>; } } } }}DeleteReader.javaimportjava.awt.BorderLayout;importjava.awt.Container;importjava.awt.GridLayout;importjava.awt.event.*;importjavax.swing.*;publicclassDeleteReaderextendsJFrameimplementsActionListener{ SQLOperationop=newSQLOperation<>; Containerc=getContentPane<>; JPanelp1=newJPanel<>; JLabelreaderNumber=newJLabel<"ReaderNumber:">; JTextFieldnumberField=newJTextField<>; JButtoncancel=newJButton<"Cancel">; JButtondelete=newJButton<"Delete!!">;publicDeleteReader<>{c.add<p1,BorderLayout.NORTH>;p1.setLayout<newGridLayout<2,2,20,10>>;p1.add<readerNumber>;p1.add<numberField>;p1.add<cancel>;p1.add<delete>;cancel.addActionListener<this>;delete.addActionListener<this>; }publicvoidactionPerformed<ActionEvente>{//TODOAuto-generatedmethodstubif<e.getSource<>==cancel>{this.dispose<>; }if<e.getSource<>==delete>{ ReaderInforeader=newReaderInfo<numberField.getText<>>;this.dispose<>;if<op.deleteReaderCheck<numberField.getText<>>!=0>{ JOptionPane .showMessageDialog<null,"Deletethereaderunsuccessfully.Pleasereturnbooksfirst!","Warning",JOptionPane.INFORMATION_MESSAGE>; }else{if<op.deleteReader<reader>==1>{ JOptionPane.showMessageDialog<null,"Deletethereadersuccessfully!","Information", JOptionPane.INFORMATION_MESSAGE>; }else{ JOptionPane .showMessageDialog<null,"Deletethereaderunsuccessfully.Thereaderdoesnotexist!","Warning",JOptionPane.INFORMATION_MESSAGE>; } } } }}EditBook.javaimportjava.awt.BorderLayout;importjava.awt.Container;importjava.awt.GridLayout;importjava.awt.event.*;importjava.util.ArrayList;importjavax.swing.*;publicclassEditBookextendsJFrameimplementsActionListener{ SQLOperationop=newSQLOperation<>; Containerc=getContentPane<>; JPanelp1=newJPanel<>; JLabelbookNumber=newJLabel<"BookNumber:">; JLabelbookName=newJLabel<"BookName:">; JLabelauthor=newJLabel<"BookAuthor:">; JLabelpress=newJLabel<"Press:">; JLabelpressTime=newJLabel<"Presstime:">; JLabelbookAbstract=newJLabel<"Abstract:">; JLabelstorage=newJLabel<"Storage:">; JLabelremain=newJLabel<"Remain:">; JLabelremain1=newJLabel<"Updatewithstorage">; JLabelnumberField=newJLabel<>; JTextFieldnameField=newJTextField<>; JTextFieldauthorField=newJTextField<>; JTextFieldpressField=newJTextField<>; JTextFieldpressTimeField=newJTextField<>; JTextFieldabstractField=newJTextField<>; JTextFieldstorageField=newJTextField<>; JTextFieldtemp1=newJTextField<>; JTextFieldtemp2=newJTextField<>; JButtoncancel=newJButton<"Cancel">; JButtonsave=newJButton<"Save!!">;publicEditBook<Stringnumber>{ BookInfobook=newBookInfo<number>; ArrayList<String>strArray=newArrayList<String><>;strArray=op.outputBook<book>;numberField.setText<number>;nameField.setText<strArray.get<1>>;authorField.setText<strArray.get<2>>;pressField.setText<strArray.get<3>>;pressTimeField.setText<strArray.get<4>>;abstractField.setText<strArray.get<5>>;storageField.setText<strArray.get<6>>;temp1.setText<strArray.get<6>>;temp2.setText<strArray.get<7>>;c.add<p1,BorderLayout.NORTH>;p1.setLayout<newGridLayout<9,2,20,10>>;p1.add<bookNumber>;p1.add<numberField>;p1.add<bookName>;p1.add<nameField>;p1.add<author>;p1.add<authorField>;p1.add<press>;p1.add<pressField>;p1.add<pressTime>;p1.add<pressTimeField>;p1.add<bookAbstract>;p1.add<abstractField>;p1.add<storage>;p1.add<storageField>;p1.add<remain>;p1.add<remain1>;p1.add<cancel>;p1.add<save>;cancel.addActionListener<this>;save.addActionListener<this>; }publicvoidactionPerformed<ActionEvente>{//TODOAuto-generatedmethodstubif<e.getSource<>==cancel>{this.dispose<>; }if<e.getSource<>==save>{inti=Integer.parseInt<storageField.getText<>> -Integer.parseInt<temp1.getText<>> +Integer.parseInt<temp2.getText<>>; BookInfobook=newBookInfo<numberField.getText<>,nameField.getText<>,authorField.getText<>,pressField.getText<>,pressTimeField.getText<>,abstractField.getText<>,Integer.parseInt<storageField .getText<>>,i>;op.inputBook<book>; JOptionPane.showMessageDialog<null,"Editthebooksuccessfully!","Information",JOptionPane.INFORMATION_MESSAGE>;this.dispose<>; } }}EditReader.javaimportjava.awt.BorderLayout;importjava.awt.Container;importjava.awt.GridLayout;importjava.awt.event.*;importjava.util.ArrayList;importjavax.swing.*;publicclassEditReaderextendsJFrameimplementsActionListener{ SQLOperationop=newSQLOperation<>; Containerc=getContentPane<>; JPanelp1=newJPanel<>; JLabelreaderNumber=newJLabel<"ReaderNumber:">; JLabelreaderName=newJLabel<"ReaderName:">; JLabelsex=newJLabel<"Sex:">; JLabeldpt=newJLabel<"Department:">; JLabelgrade=newJLabel<"Grade:">; JLabelnumberField=newJLabel<>; JTextFieldnameField=newJTextField<>; JTextFieldsexField=newJTextField<>; JTextFielddptField=newJTextField<>; JTextFieldgradeField=newJTextField<>; JButtoncancel=newJButton<"Cancel">; JButtonsave=newJButton<"Save!!">;publicEditReader<Stringnumber>{numberField.setText<number>; ReaderInforeader=newReaderInfo<number>; ArrayList<String>strArray=newArrayList<String><>;strArray=op.outputReader<reader>; System.out.println<strArray>;numberField.setText<number>;nameField.setText<strArray.get<1>>;sexField.setText<strArray.get<2>>;dptField.setText<strArray.get<3>>;gradeField.setText<strArray.get<4>>
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年寶雞三和職業(yè)學院招聘(3人)考試參考試題及答案解析
- 涼山州公安局2026年公開考試招聘警務(wù)輔助人員(30人)考試備考試題及答案解析
- 2026年陜西博遠貿(mào)易服務(wù)有限公司招聘筆試參考題庫及答案解析
- 2026年天津市北辰區(qū)中醫(yī)醫(yī)院公開招聘事業(yè)單位6人考試參考題庫及答案解析
- 2025江西南昌市建設(shè)投資集團有限公司招聘20人考試備考試題及答案解析
- 2026國新新格局(北京)私募證券基金管理有限公司相關(guān)崗位招聘1人考試參考題庫及答案解析
- 2026江西南昌陸軍步兵學院幼兒園社會招聘1人筆試參考題庫及答案解析
- 2026云南昭通永善縣統(tǒng)計局招聘公益性崗位2名考試備考題庫及答案解析
- 上海光通信有限公司2026屆校園招聘考試備考試題及答案解析
- 2026年涿州中醫(yī)醫(yī)院招聘備考題庫含答案詳解
- 二保焊培訓課件
- 工程變更通知(ECN)流程及管理規(guī)范
- 國家民用航空安全保衛(wèi)質(zhì)量控制方案
- 基于杜邦分析法的企業(yè)盈利能力分析-以格力電器為例
- WPF在醫(yī)學影像三維顯示中的應(yīng)用-洞察及研究
- 漢服設(shè)計培訓課件
- 2026屆浙江省杭州市西湖區(qū)學軍中學(紫金港校區(qū))高三上學期9月月考英語試題
- 電廠氨使用安全培訓課件
- 2025年供銷社資產(chǎn)管理員招聘面試預(yù)測題及答題技巧
- 2025至2030中國助聽器行業(yè)調(diào)研及市場前景預(yù)測評估報告
- 2025秋季學期國開電大法律事務(wù)??啤缎谭▽W(2)》期末紙質(zhì)考試名詞解釋題庫珍藏版
評論
0/150
提交評論