課程設(shè)計圖書信息管理系統(tǒng)2_第1頁
課程設(shè)計圖書信息管理系統(tǒng)2_第2頁
課程設(shè)計圖書信息管理系統(tǒng)2_第3頁
課程設(shè)計圖書信息管理系統(tǒng)2_第4頁
課程設(shè)計圖書信息管理系統(tǒng)2_第5頁
已閱讀5頁,還剩40頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、湖南科技學(xué)院課程設(shè)計報告課程名稱:面向?qū)ο蟪绦蛟O(shè)計課程設(shè)計課程設(shè)計題目:圖書信息管理系統(tǒng)系:數(shù)學(xué)與計算科學(xué)系專 業(yè):信息與計算科學(xué)年級、班:XXX姓 名:XXX學(xué) 號:XXX指導(dǎo)教師:XXX職 稱:講師2011年6月自我評價自我評分:90。首先,我在老師給的程序上完善了圖書管理系統(tǒng)的一些基本功能,如增加、修改、刪除、查詢,另外,我還增加了bookmain()、Adminbooksever()、login()、jdbcfile()等函數(shù)功能,實現(xiàn)了可以按多種方式查找,如按圖書編號,按圖書名稱,實現(xiàn)了完全的在界面操作的系統(tǒng)。然后,我通過查閱書籍,上網(wǎng)查詢,最后,我將數(shù)據(jù)存儲在數(shù)據(jù)庫(Oracle

2、Database 10g)中,通過CS模式的服務(wù)器和接收端的運行平臺,以及Java驅(qū)動程序,連接了數(shù)據(jù)庫,使其數(shù)據(jù)庫當中的數(shù)據(jù)隨著界面的操作而隨時更新。用這個接口的一個變種,可以使用參數(shù)化SQL語句,用這個接口抽象了運行SQL select語句的結(jié)果,提供了訪問結(jié)果的方法,這個接口可以用來來訪問各記錄中不同的字段。 為了保證安全性,我使用了自定義函數(shù)Login()的登錄功能,使得登錄用戶要有用戶名和密碼;Bookmain()函數(shù)是實現(xiàn)首頁面板,除了菜單選項,還有下拉菜單的功能實現(xiàn);Adminbooksever()函數(shù)是接受服務(wù)器端的傳輸功能,實現(xiàn)提示面板,因為本系統(tǒng)采用的是本地CS模式,有服務(wù)

3、器和接收端;jdbcfile()函數(shù)是實現(xiàn)與數(shù)據(jù)庫的連接函數(shù)。而在每個面板上也就免不了的加了按鈕的觸發(fā)事件功能。另外的基本功能是用單獨的每個函數(shù)實現(xiàn)的。具體見代碼。下面是我的工作步驟:一:查閱相關(guān)資料。針對系統(tǒng)的開發(fā)目的、需求分析、功能分析、系統(tǒng)分析、系統(tǒng)結(jié)構(gòu)、系統(tǒng)設(shè)計等相關(guān)知識的查閱和學(xué)習(xí)。二:數(shù)據(jù)庫設(shè)計-概念設(shè)計(E-R圖的設(shè)計)、邏輯設(shè)計(表及視圖的設(shè)計)三:系統(tǒng)功能設(shè)計-功能模塊詳細設(shè)計四:總結(jié)【摘要】書籍是人類不可缺少的精神食糧,圖書管理系統(tǒng)是一些單位不可缺少的部分,尤其是對一些學(xué)校來說尤為的重要。所以圖書管理系統(tǒng)應(yīng)該能夠為用戶提供重做的信息和快捷的查詢手段。但一直以來人們使用傳統(tǒng)的

4、人工的方式管理圖書、期刊、試卷合訂本等,這種管理方式存在著諸多的缺點,如:效率低,保密性差,另外時間長了,將產(chǎn)生大量的文件和數(shù)據(jù),這對于查找、更新和維護都帶來不少的困難。隨著圖書館規(guī)模的不斷擴大,圖書數(shù)量也相應(yīng)的增加,有關(guān)圖書的各種信息量也成倍增加,面對著龐大的信息量,傳統(tǒng)的人工方式管理會導(dǎo)致圖書館管理上的混亂,人力與物力過多浪費,圖書館信息管理費用的增加,從而使圖書館的負擔(dān)過重,影響整個圖書館的運作和控制管理,因此,必須制定一套合理、有效,規(guī)范和實用的圖書管理系統(tǒng),對圖書資料進行集中統(tǒng)一的管理。本論文主要是針對圖書信息管理系統(tǒng)的研究,介紹的是一個典型的數(shù)據(jù)庫應(yīng)用系統(tǒng),主要涉及數(shù)據(jù)的讀寫和數(shù)據(jù)

5、的傳遞,利用數(shù)據(jù)庫Oracle Database 10g軟件和Eclipse3.62工具,采用java語言進行開發(fā),介紹了系統(tǒng)的開發(fā)目的、系統(tǒng)分析、系統(tǒng)結(jié)構(gòu)、系統(tǒng)設(shè)計、等。系統(tǒng)的建立將支持圖書管理人員對各類信息進行快捷、準確、方便的查詢;支持管理人員對圖書的錄入、修改、刪除與查詢。關(guān)鍵詞 Java Oracle Access 面向?qū)ο?圖書館里目錄摘要.I第1章 緒論.1第2章 系統(tǒng)功能介紹.1 2.1系統(tǒng)設(shè)計.1 2.2系統(tǒng)流程及模塊功能.2 2.3模塊功能介紹.2第3章 數(shù)據(jù)庫設(shè)計.3 3.1數(shù)據(jù)庫需求分析.3 3.2數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計.3 3.3數(shù)據(jù)庫表邏輯結(jié)構(gòu)設(shè)計.3第4章 系統(tǒng)功能實

6、現(xiàn).4 4.1數(shù)據(jù)庫模塊設(shè)計.4 4.2管理員登錄模塊設(shè)計.6 4.3主界面功能實現(xiàn).9 4.4圖書添加功能實現(xiàn).12 4.5圖書查詢功能實現(xiàn).17 4.6圖書刪除功能實現(xiàn).21 4.7圖書信息修改功能實現(xiàn).26 4.8圖書管理模塊的服務(wù)器端功能實現(xiàn).32第5章 總結(jié) .39第6章 參考文獻.39第1章 緒 論隨著社會經(jīng)濟的迅速發(fā)展、科學(xué)技術(shù)的全面進步和計算機事業(yè)的飛速發(fā)展,以計算機與通信技術(shù)為基礎(chǔ)的信息系統(tǒng)正處于蓬勃發(fā)展的時期。隨著經(jīng)濟文化水平的顯著提高,人們對生活質(zhì)量及工作環(huán)境要求也越來越高。書籍作為人類的精神食糧,在現(xiàn)代社會中越來越受到重視,大量的書籍出現(xiàn)在市場上,人們有了各種不同的選擇

7、。與此同時,為了管理大量的圖書,圖書倉庫也大量的出現(xiàn),倉庫的管理問題也就提上了日程。隨著圖書的大量增加,其管理難度也越來越大,如何優(yōu)化倉庫的日常管理也就成了一個大眾化的課題。在計算機飛速發(fā)展的今天,將計算機這一信息處理器應(yīng)用于倉庫的日常管理已是勢必索然,而且這也將為倉庫的管理帶來前所未有的變化,同時也會為企業(yè)的飛速發(fā)展提供無限潛力。采用計算機管理信息系統(tǒng)已成為倉庫管理科學(xué)化和現(xiàn)代化的重要標志,它給企業(yè)管理帶來明顯的經(jīng)濟效益和社會效益。主要體現(xiàn)在:極大的提高了倉庫管理人員的工作效率,大大減少了以往入出存流程繁瑣、雜亂、周期長的弊端?;趥}庫管理的自動化,可以減少入庫管理、出庫管理及庫存管理的漏洞

8、,可以節(jié)約不少管理開支,增加企業(yè)收入。倉庫的管理操作自動化和信息的電子化,全面提高了倉庫的管理水平。隨著我國改革開放的不斷深入,經(jīng)濟飛速的發(fā)展,企業(yè)想要生存和發(fā)展 ,要想在激烈的市場競爭中立于不敗之地,沒有現(xiàn)代化的管理好似萬萬不行的,圖書管理的全面自動化、信息化則是其中極其重要的部分。為了加快倉庫管理的自動化的步伐,提高倉庫的管理業(yè)務(wù)處理效率,建立倉庫管理系統(tǒng)已變得十分重要。新書入庫、出庫還是現(xiàn)在企業(yè)圖書倉庫管理的常規(guī)基本模式。如何設(shè)計好倉庫的管理系統(tǒng),盡可能的減少倉庫管理的復(fù)雜性和低效率性就成為當前最重要的問題。通過對圖書倉庫管理的日常工作的詳細調(diào)查,搜集了大量的資料,從系統(tǒng)結(jié)構(gòu)的組織,功能

9、的實現(xiàn),技術(shù)的要求以及可行性等諸多方面進行考慮,認為本課題是一個適合 現(xiàn)今圖書倉庫管理需求的計算機信息管理系統(tǒng),具有一定的實際開發(fā)價值和使用價值。第2章 系統(tǒng)功能介紹2.1系統(tǒng)設(shè)計本人設(shè)計的圖書信息管理系統(tǒng)采用C/S模式,通過內(nèi)部網(wǎng)絡(luò)處理和信息交換,開發(fā)結(jié)構(gòu)、解決數(shù)據(jù)庫共享問題,客戶端運行Java客戶端程序,服務(wù)器端運行Java服務(wù)器端程序。主要用于對圖書館日常工作的管理,主要任務(wù)是用計算機圖書各種信息進行日常的管理,如增加、修改、刪除、查詢圖書的管理等。本系統(tǒng)實現(xiàn)了圖書館的信息自動化管理,完成了圖書管理系統(tǒng)的基本功能,該系統(tǒng)主要包括管理員子系統(tǒng)和書籍管理子系統(tǒng)退出子系統(tǒng)兩個部分。其書籍管理子

10、系統(tǒng)的主要功能是用于書籍信息的管理,如新書的入庫、圖書查詢、刪除圖書、圖書修改。2.2系統(tǒng)流程及模塊功能系統(tǒng)圖書信息管理流程如下圖1所示 N結(jié)束更新數(shù)據(jù)庫成功登錄開始 Y圖1系統(tǒng)模塊功能結(jié)構(gòu)分析圖如圖2所示圖書管理信息系統(tǒng)登錄 添加圖書修改圖書刪除圖書查詢圖書退出系統(tǒng)圖22.3模塊功能介紹 本系統(tǒng)是圖書管理系統(tǒng),本系統(tǒng)啟動后需要登錄,然后進入主界面在這個界面,我們可以選擇所需要的功能模塊來實現(xiàn)所要的執(zhí)行功能。A) 添加圖書功能:圖書信息錄入到數(shù)據(jù)庫當中(主要包括圖書的編號、書名、作者、出版社、出版日期、圖書簡介、圖書類別等);B)修改圖書功能:把數(shù)據(jù)庫當中圖書的錄入信息錯誤的圖書先查找出來,再

11、對其進行修改和保存;C)刪除圖書功能:主要的是對圖書館中沒有此書和不想保留圖書的資料進行刪除,不存儲該書信息;D)查詢圖書功能:方便管理工作人員對圖書信息的了解,主要按照圖書的編號和書名進行瀏覽圖書信息;第3章 數(shù)據(jù)庫設(shè)計3.1數(shù)據(jù)庫需求分析 數(shù)據(jù)庫結(jié)構(gòu)要能充分滿足各種信息的輸入和輸出,收集基本數(shù)據(jù),數(shù)據(jù)結(jié)構(gòu)處理的流程,組成一份詳盡的數(shù)據(jù)字典,為具體設(shè)計做準備。針對一般圖書管理系統(tǒng)的需求,通過對數(shù)據(jù)管理工作過程的內(nèi)容和數(shù)據(jù)流程的分析,得到其系統(tǒng)的邏輯模型,設(shè)計如下數(shù)據(jù)項和數(shù)據(jù)結(jié)構(gòu):l 圖書(圖書編號,圖書名稱,作者,出版社,出版日期,圖書簡介,圖書類型)l 用戶(用戶名,密碼)3.2數(shù)據(jù)庫概念

12、結(jié)構(gòu)設(shè)計 本系統(tǒng)用到的數(shù)據(jù)庫表的ER圖如圖33.3數(shù)據(jù)庫表邏輯結(jié)構(gòu)設(shè)計 管理員表Admin用來保存管理員用戶信息,結(jié)構(gòu)如表1表1 管理員表 圖書表book用來保存圖書信息,結(jié)構(gòu)如表2表2 圖書表book第4章 系統(tǒng)功能實現(xiàn)4.1連接數(shù)據(jù)庫模塊設(shè)計系統(tǒng)對圖書所需要的信息都存儲于數(shù)據(jù)庫當中,要對這些數(shù)據(jù)信息進行操作,就必須連接數(shù)據(jù)庫,為了省去每次操作都要編寫連接數(shù)據(jù)庫程序的步驟,我們把連接數(shù)據(jù)庫操作封裝到一個類jdbcfile.java中,在不同的模塊中調(diào)用這個類就可以對數(shù)據(jù)庫進行連接,執(zhí)行相應(yīng)的數(shù)據(jù)庫操作,這樣就使得連接數(shù)據(jù)庫安全高效,程序代碼簡潔清晰,也符合java面向?qū)ο蟮乃枷?。連接數(shù)據(jù)庫類

13、jdbcfile.java的代碼如下:package 管理員登錄;import java.sql.*;public class jdbcfile / 聲明變量Connection conn;Statement stmt;int inorupdatevalue = -1;/ 聲明構(gòu)造方法,并拋出異常public jdbcfile() throws Exception try String drivername = oracle.jdbc.driver.OracleDriver;String dbURL = jdbc:oracle:thin::1521:xe;String user

14、= system;String password = 123;/ 加載驅(qū)動程序Class.forName(drivername);/ 創(chuàng)建數(shù)據(jù)庫連接Connection對象conn = DriverManager.getConnection(dbURL, user, password);/ 創(chuàng)建Statement對象stmt = conn.createStatement(); catch (ClassNotFoundException e) / 捕獲異常throw new Exception(數(shù)據(jù)庫驅(qū)動未找到 + e.getMessage(); catch (SQLException e) /

15、 捕獲異常throw new Exception(數(shù)據(jù)庫未連接 + e.getMessage(); / 定義查詢數(shù)據(jù)的方法public synchronized ResultSet executeQuery(String sql) throws Exception ResultSet rs = stmt.executeQuery(sql);return rs;/ 定義插入數(shù)據(jù)的方法public synchronized int insert(String sql) throws Exception inorupdatevalue = stmt.executeUpdate(sql);return

16、 inorupdatevalue;/ 定義修改數(shù)據(jù)的方法public synchronized int update(String sql) throws Exception inorupdatevalue = stmt.executeUpdate(sql);return inorupdatevalue;/ 定義刪除數(shù)據(jù)的方法public synchronized int del(String sql) throws Exception inorupdatevalue = stmt.executeUpdate(sql);return inorupdatevalue;/ 定義關(guān)閉數(shù)據(jù)庫連接的方法

17、public void close() throws Exception conn.close();在jdbcfile的代碼中,定義了查詢數(shù)據(jù)、插入數(shù)據(jù)、修改數(shù)據(jù)、刪除數(shù)據(jù)和關(guān)閉數(shù)據(jù)庫連接的方法。其連接的圖如圖4所示圖44.2管理員登錄模塊設(shè)計為了保證系統(tǒng)的安全性,只有管理員才可以對系統(tǒng)進行操作,因此,需要對用戶登錄的信息進行驗證,管理員的用戶和密碼存放在數(shù)據(jù)庫當中,通過文本框獲得用戶輸入的用戶名和密碼,然后與數(shù)據(jù)庫的用戶名和密碼進行比較,如果匹配,則進入系統(tǒng),否則提示用戶名和密碼不正確。管理員登錄界面主要用于輸入用戶名和密碼,以便與數(shù)據(jù)庫的用戶名和密碼進行比較,界面主要包括兩個標簽、一個文本

18、框、一個密碼框和兩個按鈕,如圖5所示。圖5 登錄界面圖形用戶登錄界面的代碼如下:package 管理員登錄;import java.awt.Container;import java.awt.GridLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.sql.ResultSet;import java.sql.SQLException;import javax.swing.JButton;import javax.swing.JFrame;import javax.s

19、wing.JLabel;import javax.swing.JOptionPane;import javax.swing.JPasswordField;import javax.swing.JTextField;import javax.swing.SwingConstants;public class Login extends JFrame /聲明標簽、按鈕、文本框和密碼框private JLabel JLb1;private JLabel JLb2;private JButton Ok_btn;private JButton Cancel_btn;private JTextField

20、jtflduser;private JPasswordField jtpwdfld;/聲明窗口private JFrame frame;/構(gòu)造方法public Login ()frame=new JFrame(登錄);Container content=frame.getContentPane();/采用GridLayout布局管理content.setLayout(new GridLayout(3,2,20,20);JLb1=new JLabel(用戶名);JLb2=new JLabel(密 碼);/將標簽置于居中位置JLb1.setHorizontalAlignment(SwingCons

21、tants.CENTER);JLb2.setHorizontalAlignment(SwingConstants.CENTER);jtflduser=new JTextField();jtpwdfld=new JPasswordField();Ok_btn=new JButton(確定);Cancel_btn=new JButton(取消);/為按鈕添加事件監(jiān)聽者Ok_btn.addActionListener(new ActionHandler();Cancel_btn.addActionListener(new ActionHandler();/添加標簽、文本框、密碼框和按鈕到窗口cont

22、ent.add(JLb1);content.add(jtflduser);content.add(JLb2);content.add(jtpwdfld);content.add(Ok_btn);content.add(Cancel_btn);frame.pack(); /設(shè)定登錄窗口啟動時出現(xiàn)在屏幕的中央位置frame.setLocationRelativeTo(null);frame.setSize(300,200);frame.setVisible(true);/實現(xiàn)ActionListener監(jiān)聽class ActionHandler implements ActionListenerp

23、ublic void actionPerformed(ActionEvent e)String str1,str2,sqlStr;Object obj=e.getSource();/獲得文本框和密碼框的數(shù)據(jù)str1=jtflduser.getText().trim();str2=new String(jtpwdfld.getPassword().trim();try/單擊確定按鈕if(obj.equals(Ok_btn)if(str1.equals()JOptionPane.showMessageDialog(frame,用戶名不能為空!);return;/創(chuàng)建數(shù)據(jù)庫連接jdbcfile co

24、nn=new jdbcfile();sqlStr=select*from Admin where num=+str1+and password=+str2+;ResultSet result=conn.executeQuery(sqlStr);if(result.next()/彈出對話框提示登錄成功JOptionPane.showConfirmDialog(frame,登錄成功!);/打開圖書館主頁bookmain bookmain1=new bookmain();bookmain1.go();/關(guān)閉登錄窗口 frame.dispose();/關(guān)閉數(shù)據(jù)庫連接conn.close();elseJ

25、OptionPane.showMessageDialog(frame,用戶名或密碼錯誤!);else if(obj.equals(Cancel_btn)/單擊取消按鈕System.exit(0);catch(ClassNotFoundException ce)System.out.println(SQLException:+ce.getMessage();catch(SQLException ex)System.out.println(ex);catch (Exception s)s.printStackTrace();public static void main(String args)

26、Login login=new Login(); Login類繼承了Frame類,因此可以顯示,在Login類中,首先聲明標簽、按鈕、文本框、密碼框、和一個JFrame窗口,然后通過構(gòu)造方法創(chuàng)建標簽、按鈕、文本框、密碼框,并添加到窗口容器中,最后設(shè)置窗口的大小和可見性。當單擊按鈕的時候產(chǎn)生事件,按鈕把事件對象傳遞給監(jiān)聽者,事件監(jiān)聽者要監(jiān)聽到該事件,就要在程序當中加入一個能夠“聽到”該事件的接口,實現(xiàn)這個接口并處理監(jiān)聽到的事件。那么就在上面的Login代碼中實現(xiàn)一個ActionListener類的代碼。4.3主界面功能實現(xiàn)在系統(tǒng)的主界面中,包括兩個部分:圖書管理和退出。而在各自的下拉菜單中有各自

27、的實現(xiàn)功能。運行的主界面如圖6所示。圖6 系統(tǒng)主界面 在本界面的實現(xiàn)當中,定義了一個類bookmain,繼承了JFrame類,在bookmain類當中,定義了一個菜單欄、2個菜單和5個菜單項,在類中沒有定義構(gòu)造方法,而是定義了一個go()的方法,通過此方法設(shè)置窗口的大小、布局管理器和標題,將菜單加入到各自的菜單中,把菜單加入到菜單欄中,并將菜單欄加入到窗口中。其技術(shù)實現(xiàn)代碼具體如下:package 管理員登錄;import java.awt.*;import java.awt.event.*;import javax.swing.*;public class bookmain extends

28、JFrame / 聲明面板容器和標簽private JPanel jp1 = new JPanel();private JLabel label1;BorderLayout borderLayout1 = new BorderLayout();/ 創(chuàng)建菜單欄JMenuBar jMenuBar1 = new JMenuBar();JMenu jMenu1 = new JMenu();JMenu jMenu2 = new JMenu();JMenuItem jMenuItem1 = new JMenuItem();JMenuItem jMenuItem2 = new JMenuItem();JMe

29、nuItem jMenuItem3 = new JMenuItem();JMenuItem jMenuItem4 = new JMenuItem();JMenuItem jMenuItem5 = new JMenuItem();public void go() / 設(shè)置窗口的容器的布局管理器this.getContentPane().setLayout(borderLayout1);/ 設(shè)置窗口大小和標題this.setSize(new Dimension(300, 200);this.setTitle(圖書信息管理系統(tǒng));label1 = new JLabel(設(shè)計者數(shù)學(xué)系信計0801班 丁

30、軍 );/ 添加菜單欄this.setJMenuBar(jMenuBar1);/ 設(shè)置菜單和菜單項的名稱jMenu1.setText(圖書管理);jMenuItem1.setText(添加圖書);jMenuItem2.setText(修改圖書);jMenuItem3.setText(刪除圖書);jMenuItem4.setText(查詢圖書);jMenuItem5.setText(退出系統(tǒng));jMenu2.setText(退出);/ 向菜單欄添加菜單jMenuBar1.add(jMenu1);jMenuBar1.add(jMenu2);/ 向菜單中添加菜單項jMenu1.add(jMenuIt

31、em1);jMenu1.add(jMenuItem2);jMenu1.add(jMenuItem3);jMenu1.add(jMenuItem4);jMenu2.add(jMenuItem5);/ 監(jiān)聽者對象注冊給jMenuItem1jMenuItem1.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) / 將添加圖書管理面板添加到j(luò)p1中,并顯示出來addbook addbook1 = new addbook();jp1.add(addbook1, 添加圖書信息);CardLay

32、out c1 = (CardLayout) jp1.getLayout();c1.show(jp1, 添加圖書信息););/ 監(jiān)聽者對象注冊給jMenuItem2jMenuItem2.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) / 將修改圖書管理面板添加到j(luò)p1中,并顯示出來updatebook updatebook1 = new updatebook();jp1.add(updatebook1, 修改圖書信息);CardLayout c1 = (CardLayout) jp

33、1.getLayout();c1.show(jp1, 修改圖書信息););/ 監(jiān)聽者對象注冊給jMenuItem3jMenuItem3.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) / 將刪除圖書管理面板添加到j(luò)p1中,并顯示出來delbook delbook1 = new delbook();jp1.add(delbook1, 刪除圖書信息);CardLayout c1 = (CardLayout) jp1.getLayout();c1.show(jp1, 刪除圖書信息);)

34、;/ 監(jiān)聽者對象注冊給jMenuItem4iwo kjMenuItem4.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) / 將查詢圖書管理面板添加到j(luò)p1中,并顯示出來searchbook searchbook1 = new searchbook();jp1.add(searchbook1, 查詢圖書信息);CardLayout c1 = (CardLayout) jp1.getLayout();c1.show(jp1, 查詢圖書信息););/ 監(jiān)聽者對象注冊給jMenuIte

35、m5jMenuItem5.addActionListener(new java.awt.event.ActionListener() public void actionPerformed(ActionEvent e) System.exit(0););/ 設(shè)置Jpane1的布局管理CardLayout cardlayout = new CardLayout();jp1.setLayout(cardlayout);jp1.add(label1, 圖書管理系統(tǒng));this.add(jp1, BorderLayout.CENTER);setSize(300, 450);this.setVisibl

36、e(true);public static void main(String args) / TODO Auto-generated method stubbookmain ex = new bookmain();ex.go();ex.setVisible(true);4.4圖書添加功能的實現(xiàn) 圖書入庫是圖書管理系統(tǒng)中不可缺少的部分,用于圖書入庫,通過界面中文本框接受書籍信息,然后將此信息寫入到Access數(shù)據(jù)庫中。運行界面如圖7所示,運行成功提示如圖8。圖8 其技術(shù)實現(xiàn)的代碼如下:package 管理員登錄;import java.io.*;import .*;import java.awt

37、.*;import java.awt.event.*;import javax.swing.*;public class addbook extends JPanel /聲明標簽private JTextField 圖7id,bookname,author,publish,time,synopsis,category;/聲明文本框private JLabel jid,jbookname,jauthor,jpublish,jtime,jsynopsis,jcategory;/聲明按鈕private JButton button1,button2;/聲明數(shù)據(jù)流對象PrintWriter outpu

38、t;BufferedReader input;/聲明字符串變量String message=;/構(gòu)造方法public addbook()/設(shè)置布局為nullthis.setLayout(null);jid=new JLabel(編號);id=new JTextField();jbookname=new JLabel(書名);bookname=new JTextField();jauthor=new JLabel(作者);author=new JTextField();jpublish=new JLabel(出版社);publish=new JTextField();jtime=new JLab

39、el(出版日期);time=new JTextField();jsynopsis=new JLabel(圖書簡介);synopsis=new JTextField();jcategory=new JLabel(類別);category=new JTextField();button1=new JButton(添加);button2=new JButton(取消);/設(shè)置標簽大小和位置jid.setBounds(30,20,60,30);jbookname.setBounds(30,70,60,26);jauthor.setBounds(30,120,60,26);jpublish.setBou

40、nds(30,170,60,26);jtime.setBounds(30,220,60,26);jsynopsis.setBounds(30,270,60,26);jcategory.setBounds(30,320,60,26);/設(shè)置文本框的位置和大小id.setBounds(110,20,120,26);bookname.setBounds(110,70,120,26);author.setBounds(110,120,120,26);publish.setBounds(110,170,120,26);time.setBounds(110,220,120,26);synopsis.set

41、Bounds(110,270,120,26);category.setBounds(110,320,120,26);/設(shè)置按鈕的位置和大小button1.setBounds(50,360,60,26);button2.setBounds(130,360,60,26);/將標簽、文本框和按鈕添加到JPanel中this.add(jid);this.add(id);this.add(jbookname);this.add(bookname);this.add(jauthor);this.add(author);this.add(jpublish);this.add(publish);this.ad

42、d(jtime);this.add(time);this.add(jsynopsis);this.add(synopsis);this.add(jcategory);this.add(category);this.add(button1);this.add(button2);/監(jiān)聽者對象注冊給button1button1.addActionListener(new ActionListener()public void actionPerformed(ActionEvent e)if(id.getText().toString().equals()JOptionPane.showMessage

43、Dialog(null,編號不能為空!,添加,JOptionPane.WARNING_MESSAGE);elseif(bookname.getText().toString().equals()JOptionPane.showMessageDialog(null,書名不能為空!,添加,JOptionPane.WARNING_MESSAGE);elseif(author.getText().toString().equals()JOptionPane.showMessageDialog(null,作者不能為空!,添加,JOptionPane.WARNING_MESSAGE);elseif(pub

44、lish.getText().toString().equals()JOptionPane.showMessageDialog(null,出版社不能為空!,添加,JOptionPane.WARNING_MESSAGE);elseif(time.getText().toString().equals()JOptionPane.showMessageDialog(null,出版日期不能為空!,添加,JOptionPane.WARNING_MESSAGE);elseif(category.getText().toString().equals()JOptionPane.showMessageDial

45、og(null,圖書類別不能為空!,添加,JOptionPane.WARNING_MESSAGE);else/調(diào)用方法connectconnect(add+/+id.getText().toString()+/+bookname.getText().toString()+/+author.getText().toString()+/+publish.getText().toString()+/+time.getText().toString()+/+synopsis.getText().toString()+/+category.getText().toString(););button2.a

46、ddActionListener(new ActionListener()public void actionPerformed(ActionEvent e)id.setText();bookname.setText();author.setText();publish.setText();time.setText();synopsis.setText();category.setText(););setSize(250,400);this.setVisible(true);public void connect(String s)Socket socket;try/創(chuàng)建socket類對象,指

47、定端口號為4321;socket=new Socket(InetAddress.getByName(localhost),4321);/創(chuàng)建輸出流對象input = new BufferedReader(new InputStreamReader(socket.getInputStream(); output = new PrintWriter(new OutputStreamWriter(socket.getOutputStream(); /輸出數(shù)據(jù)流output.println(s);output.flush();id.setText();bookname.setText();author

48、.setText();publish.setText();time.setText();synopsis.setText();category.setText();try/讀取輸入流message=(String)input.readLine();if(message.equals(addok)/添加成功對話框JOptionPane.showMessageDialog(null,添加成功!,添加成功!,JOptionPane.INFORMATION_MESSAGE);else/添加對話框失敗JOptionPane.showMessageDialog(null,添加失敗!,添加失??!,JOptionPane.WARNING_MESSA

溫馨提示

  • 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)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論