數(shù)據(jù)庫課設計-圖書管理系統(tǒng).doc_第1頁
數(shù)據(jù)庫課設計-圖書管理系統(tǒng).doc_第2頁
數(shù)據(jù)庫課設計-圖書管理系統(tǒng).doc_第3頁
數(shù)據(jù)庫課設計-圖書管理系統(tǒng).doc_第4頁
數(shù)據(jù)庫課設計-圖書管理系統(tǒng).doc_第5頁
已閱讀5頁,還剩30頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

此文檔收集于網(wǎng)絡,如有侵權,請聯(lián)系網(wǎng)站刪除華 北 科 技 學 院數(shù)據(jù)庫原理與應用課程設計說明書學號: 班級: 計科 姓名: 設計題目: 圖書管理系統(tǒng) 設計地點:_大軟_ _設計時間: 2015.12.28 至 2016.01.08 成績評定:1、工作量: A( ),B( ),C( ),D( ),F( )2、難易度: A( ),B( ),C( ),D( ),F( )3、答辯情況:基本操作: A( ),B( ),C( ),D( ),F( )代碼理解: A( ),B( ),C( ),D( ),F( )4、報告規(guī)范度: A( ),B( ),C( ),D( ),F( )5、學習態(tài)度: A( ),B( ),C( ),D( ),F( )總評成績:_指導教師:_崔新偉_目錄1 引 言11.1課程設計選題11.2課程設計的目的11.3本選題的設計背景12 系統(tǒng)分析與設計12.1 系統(tǒng)的需求分析12.1.1 功能需求12.1.2 性能需求22.2 系統(tǒng)的開發(fā)運行環(huán)境22.3 系統(tǒng)總體設計33 數(shù)據(jù)庫設計43.1 數(shù)據(jù)庫概念結構43.2 數(shù)據(jù)庫邏輯結構53.2.1 關系模型53.2.3 視圖的設計53.3 數(shù)據(jù)庫的實現(xiàn)53.3.1表53.3.2 視圖73.3.3 安全性設計83.3.4 完整性設計93.3.5 索引設計103.3.5 觸發(fā)器103.3.6 存儲過程114 主要功能的詳細設計與實現(xiàn)114.1 登錄模塊114.2 讀者信息模塊124.3 管理員模塊134.4 讀者管理模塊134.5 書籍管理模塊154.6 借書模塊16結論18參 考 文 獻18附錄 19此文檔僅供學習與交流1 引 言1.1課程設計選題圖書管理系統(tǒng)1.2課程設計的目的通過數(shù)據(jù)庫系統(tǒng)課程設計,熟悉了SQL SERVER數(shù)據(jù)庫管理系統(tǒng)的結構與組成;掌握了SQL SERVER數(shù)據(jù)庫管理系統(tǒng)的應用技術和的使用;應用SQL server2008和eclipse開發(fā)工具實踐了圖書管理系統(tǒng)的數(shù)據(jù)庫應用系統(tǒng)的設計方法、開發(fā)過程和SQL SERVER數(shù)據(jù)庫的管理與維護。最終達到掌握數(shù)據(jù)庫管理系統(tǒng)的使用和開發(fā),提高分析問題、解決問題和實踐應用能力。1.3本選題的設計背景數(shù)據(jù)庫技術和Internet的飛速發(fā)展,使他們已經(jīng)成為現(xiàn)代信息技術的重要組成部分,是現(xiàn)在計算機信息系統(tǒng)和計算機應用系統(tǒng)的基礎和核心。對于擁有龐大人員的學校的管理來講,數(shù)據(jù)的有效使用是一個學校能否進行有效管理的一個關鍵。學校作為一個學習的地方,一定會有一個圖書館。有圖書館就必定要有管理,這樣學校圖書管理系統(tǒng)就顯得更為重要。學校圖書管理系統(tǒng)適應于絕大多數(shù)的學校圖書館的管理。應用此系統(tǒng)可以將眾多的學生信息和圖書信息進行有效的管理,提高學校的效率。2 系統(tǒng)分析與設計2.1 系統(tǒng)的需求分析2.1.1 功能需求1. 讀者基本信息的輸入,包括讀者借書證號、讀者姓名、讀者性別、出生日期、讀者系部、讀者專業(yè)、借閱數(shù)量。2. 讀者基本信息的查詢,包括讀者借書證號、讀者姓名、讀者性別、出生日期、讀者系部、讀者專業(yè)、借閱數(shù)量。3. 書籍基本信息的錄入,括書籍編號、書籍名稱、作者姓名、出版社名稱、出版日期、單價、復本量、庫存量、類別。4. 書籍信息的查詢,包括書籍編號、書籍名稱、作者姓名、出版社名稱、出版日期、單價、復本量、庫存量、類別。5. 借閱書籍信息的錄入,包括讀者借閱證號、書籍編號、條形碼、借書日期等。6. 借閱書籍信息的查詢,包括讀者借閱證號、書籍編號、條形碼、借書日期等。7. 歷史借閱書籍的查看,查詢超過期限為歸還圖書的人的借閱證號、圖書的編號、借書日期及歸還日期。8. 讀者可查看個人信息以及圖書信息。9. 管理可查看增加讀者信息、圖書信息、以及借閱信息。2.1.2 性能需求1. 性能方面:學校的圖書館可以同時供學校的500人訪問,在校的學生或老師,都可以在圖書館借閱書籍。2. 可修改性方面:隨著計算機技術的提高,圖書管理系統(tǒng)可以根據(jù)學校的需要進行升級,從而提高它的實用性。3. 可用性方面:如果系統(tǒng)出現(xiàn)問題,可以用最短的時間進行恢復,同時,每過一段時間,可以對系統(tǒng)進行故障檢測。4. 安全性方面:該系統(tǒng)設有一個級別最高的管理員,可以對系統(tǒng)進行所有的操作,然后在低一級就是讀者,對個人信息和書籍信息有查閱權 。5. 用戶操作方面:不同的角色有不同的權限,登陸進去過后,會有不同的界面,方面進行各種操作。2.2 系統(tǒng)的開發(fā)運行環(huán)境本系統(tǒng)開發(fā)平臺:eclipse + sql server 2 本系系統(tǒng)運行平臺:windows 72.3 系統(tǒng)總體設計該系統(tǒng)主要是應用于學校圖書館的管理 。管理員通過不同權限的賬號登陸進入不同的頁面,行使不同的權力 ,管理員可以對讀者信息的查詢、添加,圖書基本信息的查詢、入庫、更新等。同時,使用該系統(tǒng)需要提供良好的用戶界面,因此,還設計好了友好的用戶界面??傮w結構如下圖:圖書管理系統(tǒng)歷 史 借 閱書 籍 管 理借 閱 記 錄讀 者 管 理歷史借閱查詢借閱記錄查詢借閱記錄添加讀者信息添加讀者信息查詢書籍信息查詢書籍信息添加3 數(shù)據(jù)庫設計3.1 數(shù)據(jù)庫概念結構用戶的需求具體體現(xiàn)在各種信息的提供、保存、更新和查詢,這就要求數(shù)據(jù)庫結構能充分滿足各種信息的輸出和輸入,現(xiàn)設計如下面所示的數(shù)據(jù)結構:1. 讀者信息讀者的借閱證號、讀者姓名、讀者性別、出生年月、所在系部、所在專業(yè)、借閱數(shù)量2. 圖書信息圖書編號、書名、作者、出版社、單價、復本量、庫存量、類別3. 借閱信息讀者的借閱證號、圖書編號、條碼號、借閱日期4. 歷史借閱信息讀者的借閱證號、讀者的借閱證號、條碼號、借閱日期、歸還日期總體E-R圖:3.2 數(shù)據(jù)庫邏輯結構3.2.1 關系模型根據(jù)概念模型的E-R圖,適當?shù)倪M行優(yōu)化后,可以得到以下三個關系模式:1. 讀者信息(讀者借書證號,讀者姓名,讀者性別,出生年月,所在系部,所在專業(yè),借閱數(shù)量)2. 圖書信息(圖書編號,書名,作者,出版社,單價,復本量,庫存量,類別)3. 借閱信息(借閱證號,圖書編號,條碼號,借閱日期,歸還日期)3.2.3 視圖的設計1. 為了方便讀者和管理員查詢書籍是否可借,建立一個視圖A,查詢圖書館內(nèi)圖書的庫存量,其字段信息包括:圖書編號、書籍名稱、庫存量。具體實現(xiàn)如下: Create view A(ISBN,Bname,Invnum) As select ISBN,Bname,Invnum From Book2. 為了方便管理員對于讀者借書情況的查看,以及便于挺醒超期為歸還同學,建立一個視圖B,查看借書超過兩個月為歸還的讀者的借閱證號,具體實現(xiàn)如下: Create view B(Lno) As select Lno From Lend Where (GETDATE()-Bordate)603.3 數(shù)據(jù)庫的實現(xiàn)3.3.1表1. 讀者信息表 包括讀者的借閱證號Lno,讀者的姓名Rname,讀者性別Sex,出生日期Brithday,所在系部Dept,所屬專業(yè)Spec以及借閱數(shù)量Bornum。 2. 圖書信息表 包括圖書編號ISBN,圖書名稱Bname,作者Author,出版社Press,單價Price,復本量Copynum,庫存量Invnum,類別Btype。 3. 借閱信息表 包括讀者的借閱證號Lno,圖書的編號ISBN,圖書的條碼號Barno,借閱日期Bordate。 4. 歷史借閱信息表 包括讀者的借閱證號Lno,圖書的編號ISBN,圖書的條碼號Barno,借閱日期Bordate,歸還日期Retdate。 3.3.2 視圖視圖A 視圖B 3.3.3 安全性設計為了確保圖書管理信息的安全,設置兩個一個用戶。第一個為學生用戶Eoot1,給予權限可以查看圖書信息表。第二個用戶為管理員用戶Eoot2,給予權限可以查看,修改,刪除讀者信息表、圖書信息表、借閱表、歷史借閱表。具體實現(xiàn)如下:3.3.4 完整性設計本數(shù)據(jù)庫系統(tǒng)的基本表有讀者信息表Reader,圖書信息表Book,借閱表Lend,歷史借閱表HistoryLend。所以在建立表以及添加信息時須有參照完整性與用戶定義完整性。具體參照如下:1. 借閱書籍必須是圖書館已有的書籍,同時,在記錄讀者借閱書籍時,要是持有圖書證號的才可以,所以在建立借閱信息表時必須參照書籍信息表中的書籍編號(ISBN)和讀者信息中的讀者圖書證號(Lno)。 2. 在歷史借閱表中的還書記錄,必須是圖書館借出去的書,而且借書者必須是在圖書館有記錄的,所以,在建立還書記錄時,借閱記錄必須參照書籍信息表中的書籍編號(ISBN)和讀者信息中的讀者圖書證號(Lno)。3. 在借閱表中的借閱記錄,必須是從圖書館借出去的書,并且借書者必須是圖書館有記錄的,所以,在建立還書記錄時,借閱記錄必須參照書籍信息表中的書籍編號(ISBN)和讀者信息中的讀者圖書證號(Lno)。4. 另外,用戶定義完整性需要對表有所約束。讀者信息表中的性別,只可填為男或女,不能其他內(nèi)容。5. 圖書館每人最多借出5本書,所以讀者信息表中的借閱數(shù)量需約束小于等于五。部分代碼如下: 參照完整性: Check約束3.3.5 索引設計 此數(shù)據(jù)庫中,除了每個表中的主鍵自動建立索引外,我還設計了兩個索引。1. 因為讀者借書有時并未歸還而又想借書,圖書管理員好查詢記錄,所以建立一個索引。在讀者表中按照讀者借書數(shù)量的多少進行排序,便于管理員查看提醒。2. 便于管理員查看并給予讀者挺醒圖書歸還,建立一個索引,在Lend表中對借閱日期進行排序,便于查看哪位讀者的借書時間快要到期。實現(xiàn)如下: 3.3.5 觸發(fā)器 建立一個觸發(fā)器。當讀者借閱圖書,在借閱表中添加一條信息后,讀者信息表中的借閱數(shù)量加一。具體實現(xiàn)如下:create trigger jiluon Lend after insertasbegindeclare Lno char(12)select Lno=Lno from insertedupdate Reader set Bornum=Bornum+1 where Lno=Lnoprint修改成功endgo3.3.6 存儲過程為了方便管理員管理查詢讀者信息。建立一個存儲過程,通過輸入讀者的借書證號,顯示讀者的姓名與系部。代碼如下:-存儲過程create procedure chaxun(Lno char(12),Rname varchar(8) output,Dept varchar(20)output)as select Rname=Rname,Dept=Deptfrom Readerwhere Lno=Lno-驗證存儲過程declare Rname varchar(8)declare Dept varchar(20)exec chaxun201205033101,Rname output,Dept outputselect Rname as 姓名,Dept as 系別4 主要功能的詳細設計與實現(xiàn)4.1 登錄模塊1. 界面,登陸界面如下: 2. 功能 本模塊可以供不同用戶進行登錄,用戶根據(jù)自己的身份選擇為讀者或者管理員。然后輸入用戶名和密碼進行登陸,進入界面,選擇相關操作。讀者的用戶名和密碼為讀者的姓名和借閱證號。4.2 讀者信息模塊1. 登陸學生界面 選擇讀者身份,輸入用戶名和密碼后進入學生查看信息界面,顯示讀者本人的信息。 2.選擇查看,查看圖書信息。 4.3 管理員模塊在登陸界面選擇管理員登陸,賬戶密碼為“admin”“123456”進入管理員界面4.4 讀者管理模塊1. 選擇讀者管理,分為添加讀者與查詢讀者。 選擇添加讀者,添加學生信息。輸入姓名,學號,性別,出生日期,系部,專業(yè),借書數(shù)量。點擊添加學生便可把新增的學生信息添加到數(shù)據(jù)庫中并保存。2. 讀者管理下選擇查詢讀者,有兩個子菜單,分為名稱查詢和全部查詢。 名稱查詢輸入讀者的姓名,點擊查詢,根據(jù)姓名查詢出讀者的個人信息。3. 選擇全部查詢,查詢所有讀者的信息。 查詢結果界面顯示讀者的姓名,學號,性別,出生日期,系部,專業(yè),借書數(shù)量。界面下方有四個按鈕,分別翻看查詢其他讀者信息。4.5 書籍管理模塊1. 選擇書籍管理信息,分為添加書籍信息,和查詢圖書信息 選擇添加圖書信息,轉到添加界面,輸入書名,編號,作者,出版社,單價,復本量,庫存量,類別。點擊添加圖書,將信息添加到數(shù)據(jù)庫并保存。2. 選擇查詢圖書,分為名稱查詢和全部查詢。 名稱查詢界面,輸入書名點擊查詢進行查找圖書的信息。3. 選擇全部查詢 顯示圖書的基本信息,并在下方設有四個按鈕,點擊翻看查詢其他圖書的信息。4.6 借書模塊1. 借書模塊分為借書情況和超期為歸還,分別根據(jù)數(shù)據(jù)庫的Lend表與HistoryLend表設定。 選擇借書情況查看讀者借書的借閱證號,圖書的編號,圖書的條碼號,以及借書時間。界面還有一個添加的選項框。點擊添加進行添加借書記錄。2. 選擇超期為歸還查看借書超過兩個月為歸還的讀者的借書證號,圖書編號,條碼號,借書日期和歸還日期。通過查詢HistoryLend的借書日期和還書日期,通過計算顯示出超過兩個月還未歸還圖書的讀者的借書證號,圖書編號,條碼號,借書日期和歸還日期。 結論此次的課程設計的主要內(nèi)容是圖書借閱管理系統(tǒng)。主要分為圖書管理、讀者管理、圖書借閱三個模塊。這個系統(tǒng)主要的是面向圖書管理員和讀者設計的,即系統(tǒng)的操作人員是管理員,和不同的讀者。系統(tǒng)的設計使用的Java語言。用Java語言和數(shù)據(jù)庫相連接共同實現(xiàn)本系統(tǒng)的功能。這次的課程設計的主要目的是對數(shù)據(jù)庫課程的知識的熟練應用,在此次設計中,將數(shù)據(jù)庫理論知識與實際需求相結合進行設計。數(shù)據(jù)庫的設計遵循了實體完整性、參照完整性和用戶自定義完整性,整體上能夠完成所需求的功能。通過此次的課程設計,深刻體會到對數(shù)據(jù)庫理論知識的掌握不夠扎實,尤其是對于觸發(fā)器、存儲過程的設計和使用存在很大的問題。在完成本次的設計后,對這些知識有了進一步的掌握和理解。同時也更加熟練地掌握了一些java的知識。在這次課程設計的結果中,我所做的圖書管理系統(tǒng)能夠初步的實現(xiàn)一些功能,例如讀者和管理的查詢信息,管理員的添加信息等。但仍有很多不足,比如并沒有詳細的設置刪除等設置,同時對于超過借書期限而為歸還的同學也沒有設定罰款計算。對于這次課設,我覺得培養(yǎng)了我的動手操作能力,從數(shù)據(jù)庫的設計到實現(xiàn)再到用戶界面的完成,更加熟練地讓我掌握了所學的知識,真正的做到了學以致用。我希望能有更多的這樣的鍛煉機會,同時能夠有更多的時間去修改完善我所做的系統(tǒng)。也希望能有機會小組合作,做些更加復雜全面的能夠更好的運用在實際生活中的數(shù)據(jù)庫系統(tǒng)。參 考 文 獻1王春玲, 許福,范春梅. 數(shù)據(jù)庫原理及應用教程:人民郵電出版社, 2014.2耿祥義, 張躍平. Java大學實用教程(第三版):電子工業(yè)出版社, 2012.附錄1. 圖書館管理系統(tǒng)設計中的java界面與數(shù)據(jù)庫的鏈接重要代碼如下: import java.sql.*; public class lianjie1 public static Connection getConn()Connection conn = null;try Class.forName(com.microsoft.sqlserver.jdbc.SQLServerDriver); System.out.println(驅(qū)動加載成功!);conn = DriverManager.getConnection(jdbc:sqlserver:/localhost:1434;DatabaseName=tsgl,sa,111); /字符串中不允許有空格System.out.println(數(shù)據(jù)庫連接成功!); catch (ClassNotFoundException e) e.printStackTrace(); catch (SQLException e) e.printStackTrace();return conn; public static void main(String args) getConn();2. 登陸界面的基礎代碼如下: import java.awt.event.*; import javax.swing.*;public class denglu extends JFrame implements ActionListenerprivate JTextField textName;private JPasswordField textPassword;JComboBox cbSF;/選擇身份下拉框private JTextField textCheck;/顯示提示結果private JButton ok;public denglu() super(圖書管理系統(tǒng));JPanel panel = new JPanel();JLabel labelName = new JLabel(用戶名:, JLabel.CENTER);textName = new JTextField(15);panel.add(labelName);panel.add(textName);JLabel labelPassword = new JLabel(密 碼:);textPassword = new JPasswordField(15);panel.add(labelPassword);panel.add(textPassword);StringstrSF=讀者,管理員;cbSF=new JComboBox(strSF);panel.add(new JLabel(身 份:);panel.add(cbSF);ok = new JButton(登 錄);panel.add(ok);/ 創(chuàng)建驗證文本框textCheck = new JTextField(20);textCheck.setEditable(false);textCheck.setVisible(false);panel.add(textCheck);getContentPane().add(panel);textName.addActionListener(this);ok.addActionListener(this); public void actionPerformed(ActionEvent e) if (e.getSource() = ok) /判斷觸發(fā)事件的是否為登錄按鈕String name = textName.getText();String ps = new String(textPassword.getPassword();String sf=(String)cbSF.getSelectedItem();if(管理員.equals(sf) /如果下拉選項選擇的是教師if (name.equals(admin) & ps.equals(123456) /若正確,調(diào)用教師界面(目前還沒編寫教師界面,下面這行語句先注釋)new TeacherMain(); else textCheck.setText(用戶名與密碼不正確,教師登錄失敗!);textCheck.setVisible(true);this.setSize(250, 160);textName.grabFocus();else if(讀者.equals(sf) /如果下拉選項選擇的是學生/調(diào)用登錄業(yè)務處理類,判斷登錄學生用戶是否正確if (LoginManager.login(name,ps) /因上行語句注釋,為保證語句邏輯正確性,暫時添加下行語句/if (name.equals(李紅梅) & ps.equals(201205033101) /若學生用戶信息正確,調(diào)用學生界面new Student(name); else textCheck.setText(用戶名與密碼不正確,學生登錄失敗!);textCheck.setVisible(true);this.setSize(250, 160);textName.grabFocus();/ public static void main(String args) denglu frame = new denglu();frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.setSize(250, 140);frame.setVisible(true);3. 登陸界面與數(shù)據(jù)庫鏈接的重要代碼: import java.sql.*; public class LoginManager public static boolean login(String name,String ps)Connection connect = null;PreparedStatement psmt = null;ResultSet rs = null;connect = lianjie1.getConn();String sql=select * from reader where Rname=? and Lno=?;try psmt = connect.prepareStatement(sql);psmt.setString(1,name);psmt.setString(2,ps);rs=psmt.executeQuery();if(rs.next()return true;return false; catch (SQLException e) e.printStackTrace();finallytry if(rs!=null) rs.close();if(psmt!=null)psmt.close();if(connect!=null)connect.close(); catch (SQLException e) e.printStackTrace();return false;public static void main(String args) System.out.println(login(李紅梅,201205033101);/System.out.println(login(aaa,1); 4. 借書信息按照表格全部輸出的代碼如下:import java.awt.BorderLayout;import java.awt.Color;import java.awt.Toolkit;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JMenu;import javax.swing.JMenuBar;import javax.swing.JMenuItem;import javax.swing.JPanel;import javax.swing.JScrollPane;import javax.swing.table.DefaultTableCellRenderer;class jieshu extends JFrame implements ActionListenerprivate static final long serialVersionUID = 1L;int w,h;JPanel pNorth;/定義面板容器類對象JScrollPane pCenter;/定義滾動面板對象JLabel Label_grb;/定義一個標簽對象MyTable table;/定義一個表格 Object a;/定義一個二維數(shù)組 Object name=借書證號,圖書編號,條碼號,借書日期;/定義數(shù)組 Connection con;/定義一個與數(shù)據(jù)庫連接的對象 Statement sql; /定義一個向數(shù)據(jù)庫發(fā)送語句的對象 ResultSet rs;/結果集(ResultSet)是數(shù)據(jù)中查詢結果返回的一種對象 JMenu ji; JMenuItem jie; JMenuBar menubar; JLabel result; / /構造函數(shù)/ jieshu() jie=new JMenuItem(添加借書記錄); ji=new JMenu(添加); menubar=new JMenuBar(); ji.add(jie); menubar.add(ji); setJMenuBar(menubar); result=new JLabel(); setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); add(result); validate(); jie.addActionListener(this); w=Toolkit.getDefaultToolkit().getScreenSize().width;/獲取屏幕寬度 h=Toolkit.getDefaultToolkit().getScreenSize().height;/獲取屏幕高度 try Class.forName(com.microsoft.sqlserver.jdbc.SQLServerDriver); catch(ClassNotFoundException e)/捕獲異常 System.out.println(+e); try con=DriverManager.getConnection(jdbc:sqlserver:/localhost:1434;DatabaseName=tsgl,sa,111); sql=con.createStatement(); catch(SQLException e)/捕獲異常 System.out.println(e); try rs=sql.executeQuery(SELECT * FROM Lend); a=new Object1004; int i=0; while(rs.next() ai0=rs.getString(1); ai1=rs.getString(2); ai2=rs.getString(3); ai3=rs.getString(4); i+; catch(SQLException e1)/捕獲異常 System.out.println(e1); try con.close(); catch(SQLException e1)/捕獲異常 System.out.println(e1); table=new MyTable(a,name);/創(chuàng)建網(wǎng)格對象 table.setRowHeight(20);/設置行高 DefaultTableCellRenderer r = new DefaultTableCellRenderer();/處于正在編輯或者在最頂層放置的組件 r.setHorizontalAlignment(JLabel.CENTER);/設置文本對齊方式為居中 table.setDefaultRenderer(Object.class, r); pCenter=new JScrollPane(table);/為表table創(chuàng)建一個滾動面板對象 getContentPane().add(pCenter,BorderLayout.CENTER);/將其添加到布局中部 setTitle(借書情況);/設置標題 pNorth=new JPanel(); Label_grb=new JLabel(借書情況); Label_grb.setForeground(Color.red); pNorth.add(Label_grb); getContentPane().add(pNorth,BorderLayout.NORTH); setBounds(w-640)/2,(h-350)/2,640,350); validate(); setVisible(true); setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); public void actionPerformed(ActionEvent e) if(e.getSource()=jie) new addjieshu(); public static void main(String args) jieshu win=new jieshu(); /class MyTable extends JTable/private static final long serialVersionUID = 1L;/構造函數(shù)/MyTable(Object a,Object lm)/ super(a,lm);/設置單元格不能編輯的函數(shù)/public boolean isCellEditable(int row,int column)/return false;/ /5. 添加信息:import java.awt.*;import java.awt.event.*;import javax.swing.*;public class Addbook extends JFrameJTextField BnameText,ISBNText,AuthorText,PressText,PriceText,CopynumText,InvnumText,BtypeText;JButton addbook;JLabel tsLabel;/提示添加結果標簽public Addbook()super(添加圖書信息界面);this.setLayout(new FlowLayout();this.add(new JLabel(書名:);BnameText=new JTextField(,15);this.add(BnameText);this.add(new JLabel(編號:);ISBNText=new JTextField(,15);this.add(ISBNText);this.add(new JLabel(作者:);AuthorText=new JTextField(,15);this.add(AuthorText);this.add(new JLabel(出版社:);PressText=new JTextField(,14);this.add(PressText);this.add(new JLabel(單價:);PriceText=new JTextField(,15);this.add(PriceText);this.add(new JLabel(復本量:);CopynumText=new JTextField(,14);this.add(CopynumText);this.add(new JLabel(庫存量:);InvnumText=new JTextField(,14);this.add(InvnumText);this.add(new JLabel(類別:);BtypeText=new JTextField(,14);this.add(BtypeText);this.add(addbook=new JButton(添加圖書);this.add(tsLabel=new JLabel();addbook.addActionListener(new MyListener();this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);this.setSize(250, 400);this.setVisible(true);public static void main(String args) new Addbook();public class MyListener implements ActionListener public void actionPerformed(ActionEvent e) if(e.getSource()=addbook)String Bname=BnameText.getText();String ISBN=ISBNText.getText();String Author=AuthorText.getText();String Press=PressText.getText();String Copynum=CopynumText.getText();String Invnum=InvnumText.getText();String Price=PriceText.getText();/Float Price=Float.parseFloat(PriceText.getText();/Double Copynum=Double.parseDouble(CopynumText.getText();/Double Invnum=Double.parseDouble(InvnumText.getText();String Btype=BtypeText.getText();/下面代碼注釋需要AddbookManager類編完,才可去掉/判斷是否存在該圖書,以防止重復添加if(AddbookManager.isAdd(ISBN)tsLabel.setText(編號為+ISBN+已經(jīng)存在!);else/判斷添加是否成功if(AddbookManager.add(Bname,ISBN,Author,Press,Price,Copynum,Invnum,Btype)0)tsLabel.setText(添加成功!);elsetsLabel.setText(添加失??!);6. 查詢信息:import java.awt.*;import java.awt.event.*;import javax.swing.*;public class SelectAll extends JFrame implements ActionListenerJButton firstB,previousB,nextB,finalB;/4個按鈕JPanel jp;/卡片面板CardLayout cl;/卡片式布局pu

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論