java窗體畢業(yè)設(shè)計(jì)之圖書(shū)管理系統(tǒng)_第1頁(yè)
java窗體畢業(yè)設(shè)計(jì)之圖書(shū)管理系統(tǒng)_第2頁(yè)
java窗體畢業(yè)設(shè)計(jì)之圖書(shū)管理系統(tǒng)_第3頁(yè)
java窗體畢業(yè)設(shè)計(jì)之圖書(shū)管理系統(tǒng)_第4頁(yè)
java窗體畢業(yè)設(shè)計(jì)之圖書(shū)管理系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩79頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、畢業(yè)論文課題名稱(chēng): 圖書(shū)管理系統(tǒng)學(xué) 號(hào): 姓 名: 班 級(jí): 院 系: 指導(dǎo)老師: 前言隨著社會(huì)的發(fā)展,人們對(duì)于知識(shí)的需求也在不斷地增長(zhǎng)。書(shū)籍做為人們獲取并增長(zhǎng)知識(shí)的主要途徑,使得圖書(shū)館在人們的生活中占有了一定位置。但是近幾年來(lái),隨著藏書(shū)量不斷的增長(zhǎng),造成了書(shū)庫(kù)空間極度不足,圖書(shū)擠壓,管理不善。這些都直接影響了讀者對(duì)圖書(shū)館藏書(shū)的充分利用。這時(shí)各個(gè)圖書(shū)館就特別需要開(kāi)發(fā)一套圖書(shū)館管理系統(tǒng),通過(guò)該系統(tǒng)來(lái)提高圖書(shū)館的管理效率,從而減少管理方面的工作流和成本。本系統(tǒng)針對(duì)圖書(shū)館的業(yè)務(wù)范圍及工作特點(diǎn),設(shè)計(jì)了用戶客服端、讀者管理、圖書(shū)管理等三個(gè)大模塊。這三個(gè)模塊包括了圖書(shū)館的主要業(yè)務(wù)。用戶客服端提供了個(gè)人信息

2、、借閱情況、查詢(xún)書(shū)籍狀態(tài),讀者管理模塊提供了個(gè)人信息、借/還書(shū)、查詢(xún)書(shū)籍狀態(tài),圖書(shū)管理模塊提供了采購(gòu)、編目、檢索、統(tǒng)計(jì)等業(yè)務(wù)的計(jì)算機(jī)管理。使圖書(shū)館管理水平和業(yè)務(wù)水平躍上一個(gè)新的臺(tái)階。應(yīng)用本系統(tǒng)可以在計(jì)算機(jī)上靈活、方便地管理用戶和圖書(shū),從而大大的提高了處理速率,使管理更加現(xiàn)代化。本系統(tǒng)是根據(jù)實(shí)際情況和具體內(nèi)容,按照一定的要求,科學(xué)、合理的進(jìn)行系統(tǒng)分析、設(shè)計(jì),具體包括菜單設(shè)計(jì)、數(shù)據(jù)輸入、查詢(xún)、刪除、個(gè)性等設(shè)計(jì)。從而使本系統(tǒng)完全能滿足經(jīng)濟(jì)性、靈活性、系統(tǒng)性及可靠性的要求。目錄第1章 概述1第2章 開(kāi)發(fā)工具的選擇2第3章 系統(tǒng)分析3第4章 系統(tǒng)設(shè)計(jì)4第5章 數(shù)據(jù)庫(kù)分析與設(shè)計(jì)6第6章 圖書(shū)管理系統(tǒng)具體實(shí)

3、現(xiàn)101.類(lèi)設(shè)計(jì)102.普通用戶登錄模塊113.普通用戶注冊(cè)144.普通用戶登錄184.1用戶界面184.2查看個(gè)人信息和修改個(gè)人信息194.3用戶預(yù)借圖書(shū)界面254.4取消預(yù)借圖書(shū)界面314.5用戶借閱情況界面354.6用戶續(xù)借圖書(shū)界面384.7查詢(xún)?nèi)繄D書(shū)與部分查詢(xún)圖書(shū)界面424.8用戶退出475.管理者登錄模塊485.1 管理用戶界面485.2借閱圖書(shū)界面515.3還書(shū)界面575.4超期罰款界面645.5圖書(shū)管理界面665.6添加圖書(shū)界面665.7修改圖書(shū)界面695.8刪除圖書(shū)界面735.9預(yù)借刪除及圖書(shū)超期界面75第7章 總結(jié)79參考書(shū)目80第1章 概述早年的圖書(shū)館采用的都是手工操作的

4、管理方式,隨著圖書(shū)館藏書(shū)種類(lèi)的增長(zhǎng),藏書(shū)量的不斷增加,讀者群的不斷增多,這種傳統(tǒng)的管理方式,暴露出了許多的管理漏洞。隨著計(jì)算機(jī)和網(wǎng)絡(luò)技術(shù)在我國(guó)的快速發(fā)展,圖書(shū)館迫切需要一個(gè)能夠?qū)崿F(xiàn)自動(dòng)化管理的管理系統(tǒng)。通過(guò)該系統(tǒng)能夠?qū)崟r(shí)顯示圖書(shū)的庫(kù)存數(shù)量和種類(lèi)信息,還能夠?qū)ψx者進(jìn)行管理,還能夠?qū)崟r(shí)顯示書(shū)籍的借閱情況和訂購(gòu)情況。通過(guò)系統(tǒng)來(lái)提高圖書(shū)館管理水平,同時(shí)提高工作效率。第2章 開(kāi)發(fā)工具的選擇一、NetBeans IDE是一個(gè)屢獲殊榮的集成開(kāi)發(fā)環(huán)境,可以方便的在Windows,Mac,Linux和Solaris中運(yùn)行。NetBeans包括開(kāi)源的開(kāi)發(fā)環(huán)境和應(yīng)用平臺(tái),NetBeans IDE可以使開(kāi)發(fā)人員利用J

5、ava平臺(tái)能夠快速創(chuàng)建Web、企業(yè)、桌面以及移動(dòng)的應(yīng)用程序,NetBeans IDE目前支持PHP、Ruby、JavaScript、Ajax、Groovy、Grails和C/C+等開(kāi)發(fā)語(yǔ)言。NetBeans項(xiàng)目由一個(gè)活躍的開(kāi)發(fā)社區(qū)提供支持, NetBean開(kāi)發(fā)環(huán)境提供了豐富的產(chǎn)品文檔和培訓(xùn)資源以及大量的第三方插件。NetBeans是開(kāi)源軟件開(kāi)發(fā)集成環(huán)境,是一個(gè)開(kāi)放框架,可擴(kuò)展的開(kāi)發(fā)平臺(tái),可以用于Java、C/C+,PHP等語(yǔ)言的開(kāi)發(fā),本身是一個(gè)開(kāi)發(fā)平臺(tái),可以通過(guò)擴(kuò)展插件來(lái)擴(kuò)展功能。在 NetBeans Platform 平臺(tái)中,應(yīng)用軟體是用一系列的軟體模組(Modular Software C

6、omponents)建構(gòu)出來(lái)。而這些模組是一個(gè)jar檔(Java Archive File)它包含了一組Java程式的類(lèi)別而它們實(shí)作全依據(jù)依 NetBeans 定義了的公開(kāi)介面以及一系列用來(lái)區(qū)分不同模組的定義描述檔(Manifest File)。有賴(lài)於模組化帶來(lái)的好處,用模組來(lái)建構(gòu)的應(yīng)用程式可只要加上新的模組就能進(jìn)一步擴(kuò)充。由於模組可以獨(dú)立地進(jìn)行開(kāi)發(fā),所以由 NetBeans 平臺(tái)開(kāi)發(fā)出來(lái)的應(yīng)用程式就能利用著第三方軟件,非常容易及有效率地進(jìn)行擴(kuò)充。第3章 系統(tǒng)分析一、需求分析圖書(shū)館管理系統(tǒng)是一個(gè)高度集成的圖書(shū)信息處理系統(tǒng),通過(guò)將圖書(shū)管理的各種功能進(jìn)行整合,從而達(dá)到高速檢索信息、提高工作效率、降

7、低管理成本等目的。一個(gè)典型的圖書(shū)館管理系統(tǒng)應(yīng)該能夠管理所有的圖書(shū)種類(lèi)、圖書(shū)信息以及讀者信息,還需要提供各種圖書(shū)信息的檢索查詢(xún)功能。該系統(tǒng)還需要能夠?qū)D書(shū)借閱、歸還進(jìn)行管理,并對(duì)讀者的罰款進(jìn)行自動(dòng)計(jì)算。通過(guò)該系統(tǒng)的自動(dòng)化管理,能夠大大養(yǎng)活圖書(shū)館管理人員,還能減少管理人員的工作任務(wù),從而降低管理開(kāi)銷(xiāo)和成本。二、功能分析圖書(shū)館管理系統(tǒng)是管理圖書(shū)的一個(gè)重要工具,一個(gè)功能完善的圖書(shū)館管理系統(tǒng)需要提供5個(gè)功能模塊,分別是圖書(shū)類(lèi)別管理模塊、圖書(shū)信息管理模塊、讀者信息管理模塊、圖書(shū)借閱管理模塊,以及系統(tǒng)維護(hù)模塊。其中各功能模塊的具體說(shuō)明如下。圖書(shū)類(lèi)別管理模塊:該模塊主要負(fù)責(zé)管理圖書(shū)館的圖書(shū)種類(lèi)信息,如圖書(shū)種類(lèi)

8、的名稱(chēng)、可借天數(shù)、罰款數(shù)目等信息。圖書(shū)信息管理模塊:該模塊主要負(fù)責(zé)管理圖書(shū)館的圖書(shū)信息,如圖書(shū)編號(hào)、圖書(shū)名稱(chēng)、作者、出版社等信息。讀者信息管理模塊:該模塊主要負(fù)責(zé)管理圖書(shū)館的讀者信息,如讀者編號(hào)、讀者信息、最大借書(shū)量等信息。圖書(shū)借閱管理模塊:該模塊主要負(fù)責(zé)管理圖書(shū)館的書(shū)籍借閱和歸還信息,包括圖書(shū)借閱、圖書(shū)歸還、圖書(shū)搜索3個(gè)子模塊。系統(tǒng)維護(hù)模塊:該模塊主要負(fù)責(zé)管理圖書(shū)館的工作人員信息,包括用戶管理和更改系統(tǒng)口令兩個(gè)子模塊。第4章 系統(tǒng)設(shè)計(jì)一、繪制用例圖設(shè)計(jì)系統(tǒng)功能圖書(shū)館管理系統(tǒng)是一個(gè)內(nèi)部售貨員使用的系統(tǒng),也就是說(shuō)不是所有人都能夠使用它,只有圖書(shū)館的工作人員才能使用。操作員,主要負(fù)責(zé)圖書(shū)的借閱和歸

9、還的工作;還能夠?qū)?shū)籍列表、書(shū)籍信息、讀者信息等進(jìn)行管理。下面以普通用戶和管理員為例繪制其所對(duì)應(yīng)的用例圖。二、繪制系統(tǒng)流程圖本系統(tǒng)首先需要對(duì)用戶的身份進(jìn)行識(shí)別,只有合法的用戶才能進(jìn)入系統(tǒng);否則將無(wú)法進(jìn)入系統(tǒng)。進(jìn)入系統(tǒng)后,首先打開(kāi)系統(tǒng)主窗體,在系統(tǒng)首頁(yè)的菜單欄或者功能區(qū)可以選擇各種導(dǎo)航鏈接來(lái)進(jìn)行各種操作。由于不同權(quán)限的用戶對(duì)于系統(tǒng)有不同的功能。其普通用戶系統(tǒng)流程圖如圖所示。其管理者系統(tǒng)流程圖如圖所示。第5章 數(shù)據(jù)庫(kù)分析與設(shè)計(jì)1數(shù)據(jù)庫(kù)分析在開(kāi)發(fā)圖書(shū)管理系統(tǒng)時(shí),考慮到圖書(shū)量大,數(shù)據(jù)維護(hù)大的特點(diǎn),決定采用SQL Server 2000作為數(shù)據(jù)庫(kù)管理系統(tǒng)。在SQL Server中新增一個(gè)數(shù)據(jù)庫(kù),其數(shù)據(jù)庫(kù)

10、名為l。數(shù)據(jù)庫(kù)中一共包含6張表,儲(chǔ)存不同的信息詳細(xì)如圖所示。2.數(shù)據(jù)庫(kù)概念設(shè)計(jì)讀者超期罰金表(book_overtime)學(xué)號(hào)罰金(1)讀者超期罰金實(shí)體ER圖(2) 圖書(shū)借閱信息實(shí)體ER圖圖書(shū)狀態(tài)圖書(shū)借閱信息表(BR)學(xué)號(hào)圖書(shū)編號(hào)圖書(shū)名稱(chēng)作者借書(shū)時(shí)間圖書(shū)是否有超期還書(shū)時(shí)間(3)管理員信息實(shí)體ER圖管理員信息表(Manege)賬號(hào)密碼(4)圖書(shū)狀態(tài)實(shí)體ER圖圖書(shū)狀態(tài)表(status)學(xué)號(hào)圖書(shū)編號(hào)圖書(shū)狀態(tài)(5)圖書(shū)信息實(shí)體ER圖圖書(shū)借閱信息表(tushu)圖書(shū)價(jià)格圖書(shū)編號(hào)圖書(shū)名稱(chēng)作者出版社(6)學(xué)生信息實(shí)體ER圖學(xué)生信息信息表(U)學(xué)號(hào)姓名性別密碼是否有罰款3.數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì)(1)讀者超期罰金

11、表(book_overtime),表結(jié)構(gòu)如下表所示:(2)圖書(shū)借閱信息表(BR),表結(jié)構(gòu)如下表所示:(3)管理員信息實(shí)體表(Manege),表結(jié)構(gòu)如下表所示:(4)圖書(shū)狀態(tài)表(status),表結(jié)構(gòu)如下表所示:(5)圖書(shū)信息表(tushu),表結(jié)構(gòu)如下表所示:(6)學(xué)生信息表(U),表結(jié)構(gòu)如下表所示:4.繪制表之間關(guān)系E-R圖第6章 圖書(shū)管理系統(tǒng)具體實(shí)現(xiàn)1.類(lèi)設(shè)計(jì)設(shè)計(jì)學(xué)生及圖書(shū)公共類(lèi),數(shù)據(jù)庫(kù)連接類(lèi),文本框限制長(zhǎng)度類(lèi)。學(xué)生及圖書(shū)公共類(lèi)public class TuShu public TuShu() public String userid;/學(xué)號(hào)public String book_id;/條

12、型碼public String book_name;/圖書(shū)名稱(chēng)public String br_time;/借書(shū)時(shí)間public String book_return;/應(yīng)還時(shí)間public String br_status;/圖書(shū)狀態(tài)public String author;/作者public String p_name;/出版社名public String p_price;/價(jià)格public String overdue_book;/是否有超期圖書(shū)public String book_overtime;public String book_NumberOfTimes;/預(yù)借次數(shù)public

13、 String book_Choose;/判斷是否選擇圖書(shū)數(shù)據(jù)庫(kù)連接類(lèi)public class DAO protected static String dbCLassName="com.microsoft.jdbc.sqlserver.SQLServerDriver" protected static String dbURL="jdbc:microsoft:sqlserver:/localhost:1433;DatabaseName=l" private static Connection conn; private String user="

14、;sa" private String password="" private DAO() tryif (conn=null)Class.forName(dbCLassName); conn=DriverManager.getConnection(dbURL,user,password);catch(Exception e)e.printStackTrace(); public static ResultSet executeQuery(String sql) try if(conn=null) new DAO(); return conn.createState

15、ment(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE).executeQuery(sql);/鍒涘緩鎵瀵硅薄catch(SQLException e) e.printStackTrace(); return null; public static int executeUpdate(String sql) try if(conn=null) new DAO(); Statement stat=conn.createStatement(); return stat.executeUpdate(sql);catch(SQLE

16、xception e) e.printStackTrace(); return -1; public static void close() tryconn.close();catch(SQLException e) e.printStackTrace();finallyconn=null; 文本框限制長(zhǎng)度類(lèi)public class DocumentSizeFilter extends DocumentFilterprivate int maxLength; public DocumentSizeFilter(int maxLength) this.maxLength=maxLength; O

17、verride public void insertString (FilterBypass fb,int offset,String string,AttributeSet attrs)throws BadLocationException if(fb.getDocument().getLength()+string.length()<=maxLength) super.insertString(fb, offset, string,(javax.swing.text.AttributeSet) attrs); elseToolkit.getDefaultToolkit().beep(

18、); Override public void replace (FilterBypass fb,int offset,int length,String string,AttributeSet attrs)throws BadLocationException if(fb.getDocument().getLength()+string.length()<=maxLength) super.replace(fb, offset, length, string,(javax.swing.text.AttributeSet) attrs); elseToolkit.getDefaultTo

19、olkit().beep();2.普通用戶登錄模塊 用戶賬號(hào)非數(shù)字的報(bào)錯(cuò)系統(tǒng)登錄界面代碼:public class User extends javax.swing.JFrame implements ActionListener,ItemListener,FocusListener,KeyListenerstatic private String Username;static private String Manegename;public User() initComponents(); this.setLocationRelativeTo(this); jTextField1.setT

20、ext(""); jPasswordField1.setText(""); jButton1.addActionListener(this); jButton2.addActionListener(this); jComboBox1.addItemListener(this); jButton4.addActionListener(this); jPasswordField1.addFocusListener(this); jTextField1.addFocusListener(this); jLabel4.setText("");

21、 jPasswordField1.addKeyListener(this); AbstractDocument TextField1=(AbstractDocument)jTextField1.getDocument(); AbstractDocument PasswordField1=(AbstractDocument)jPasswordField1.getDocument(); TextField1.setDocumentFilter(new DocumentSizeFilter(12); /設(shè)置文本長(zhǎng)度12 PasswordField1.setDocumentFilter(new Doc

22、umentSizeFilter(12); public static String UserName() return Username; public static void main(String args) java.awt.EventQueue.invokeLater(new Runnable() public void run() new User().setVisible(true); ); public void actionPerformed(ActionEvent e) if(e.getSource()=jButton2) /登錄按鈕 int Select=jComboBox

23、1.getSelectedIndex(); String pwd = null; pwd=String.valueOf(jPasswordField1.getPassword().trim(); if(Select=0)/普通用戶登錄 try Long.valueOf(jTextField1.getText().trim(); Username=jTextField1.getText().trim(); String sql="select * from U where userid='"+Username+"'" ; ResultSet

24、 result=DAO.executeQuery(sql); try if (result.next() String repwd; repwd=result.getString(4); if(pwd.equals(repwd.trim() UserJFram newmain = new UserJFram(); newmain.setVisible(true); this.setVisible(false); else JOptionPane.showMessageDialog(null, "密碼出錯(cuò)!",null,2); else JOptionPane.showMes

25、sageDialog(null, "用戶賬號(hào)不存在!",null,2); catch (SQLException ex) ex.printStackTrace(); catch(NumberFormatException ex) JOptionPane.showMessageDialog(null, "用戶號(hào)必須是數(shù)字!",null,2); if(Select=1)/管理者登錄 try Long.valueOf(jTextField1.getText().trim(); Manegename=jTextField1.getText().trim(); S

26、tring sql="select * from Manege where ManegeID='"+Manegename+"'" ; ResultSet result=DAO.executeQuery(sql); try if (result.next() String repwd; repwd=result.getString(2); if(pwd.equals(repwd.trim() ChooseJFrame newmain = new ChooseJFrame(); newmain.setVisible(true); this.s

27、etVisible(false); else JOptionPane.showMessageDialog(null, "密碼出錯(cuò)!",null,2); else JOptionPane.showMessageDialog(null, "管理者賬號(hào)不存在!",null,2); catch (SQLException ex) ex.printStackTrace(); catch(NumberFormatException ex) JOptionPane.showMessageDialog(null, "用戶號(hào)必須是數(shù)字!",null,2

28、); if(e.getSource()=jButton4) zhuche u=new zhuche(); u.setVisible(true); if(e.getSource()=jButton1) jTextField1.setText(""); jPasswordField1.setText(""); Override public void itemStateChanged(ItemEvent e) if(e.getSource()=jComboBox1) if(jComboBox1.getSelectedIndex()=1) jButton4.s

29、etVisible(false); else jButton4.setVisible(true); Override public void focusGained(FocusEvent e) if(e.getSource()=jPasswordField1) try jLabel4.setText(""); if(jTextField1.getText().equals("")jLabel4.setText("用戶號(hào)不能為空!"); else Long.valueOf(jTextField1.getText().trim(); ca

30、tch(NumberFormatException ex) jLabel4.setText("用戶號(hào)必須是數(shù)字!"); Override public void focusLost(FocusEvent e) if(e.getSource()=jTextField1) try jLabel4.setText(""); if(jTextField1.getText().equals("")jLabel4.setText("用戶號(hào)不能為空!"); else Long.valueOf(jTextField1.getTex

31、t().trim(); catch(NumberFormatException ex) jLabel4.setText("用戶號(hào)必須是數(shù)字!"); Override public void keyTyped(KeyEvent e) Override public void keyPressed(KeyEvent e) Override public void keyReleased(KeyEvent e) if(e.getSource()=jPasswordField1) if(e.getKeyCode()=10)jButton2.doClick(); 3.普通用戶注冊(cè) 由

32、于沒(méi)有賬號(hào)先進(jìn)行“注冊(cè)”,進(jìn)入注冊(cè)界面。 單擊“確定”注冊(cè)成功,數(shù)據(jù)庫(kù)有剛剛注冊(cè)用戶的信息。 如果重復(fù)注冊(cè)則會(huì)報(bào)錯(cuò)或如果注冊(cè)的密碼位數(shù)不在610之間則會(huì)提示出錯(cuò)! “注冊(cè)”界面的代碼public class zhuche extends javax.swing.JFrame implements ActionListener,FocusListener,ItemListener String userid="",repassword="", userpassword="" ;/用戶學(xué)號(hào) public zhuche() initComp

33、onents(); this.setLocationRelativeTo(this); this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); jTextField1.setText(""); jTextField2.setText(""); jPasswordField1.setText(""); jPasswordField2.setText(""); jTextField4.setText(""); jLabel11.setText(

34、""); jLabel12.setText(""); jLabel13.setText(""); jButton1.addActionListener(this); jButton2.addActionListener(this); jButton3.addActionListener(this); jTextField1.addFocusListener(this); jRadioButton1.setSelected(true); jRadioButton1.addItemListener(this);jRadioButton2.

35、addItemListener(this);jRadioButton1.setSelected(true);jPasswordField1.addFocusListener(this);jPasswordField2.addFocusListener(this);AbstractDocument TextField1=(AbstractDocument)jTextField1.getDocument(); /設(shè)置文本長(zhǎng)度12AbstractDocument TextField2=(AbstractDocument)jTextField2.getDocument(); /設(shè)置文本長(zhǎng)度12Abst

36、ractDocument TextField4=(AbstractDocument)jTextField4.getDocument(); /設(shè)置文本長(zhǎng)度12 AbstractDocument PasswordField1=(AbstractDocument)jPasswordField1.getDocument(); AbstractDocument PasswordField2=(AbstractDocument)jPasswordField2.getDocument(); TextField1.setDocumentFilter(new DocumentSizeFilter(12); Te

37、xtField4.setDocumentFilter(new DocumentSizeFilter(12); TextField2.setDocumentFilter(new DocumentSizeFilter(20); PasswordField1.setDocumentFilter(new DocumentSizeFilter(12); PasswordField2.setDocumentFilter(new DocumentSizeFilter(12);public static void main(String args) java.awt.EventQueue.invokeLate

38、r(new Runnable() public void run() new zhuche().setVisible(true); ); public void actionPerformed(ActionEvent e) String interest="",address,username,sex; if(e.getSource()=jButton3) User a=new User(); a.setVisible(true); this.setVisible(false); if(e.getSource()=jButton1) jTextField1.setText(

39、""); jTextField2.setText(""); jPasswordField1.setText(""); jPasswordField2.setText(""); jTextField4.setText(""); jLabel11.setText(""); jLabel12.setText(""); jLabel13.setText(""); if(jCheckBox1.isSelected()jCheckBox1.setS

40、elected(false);if(jCheckBox2.isSelected()jCheckBox2.setSelected(false);if(jCheckBox3.isSelected()jCheckBox3.setSelected(false);if(jCheckBox4.isSelected()jCheckBox4.setSelected(false);if(jCheckBox5.isSelected()jCheckBox5.setSelected(false); jRadioButton1.setSelected(true); if(e.getSource()=jButton2)

41、username=jTextField4.getText();/分別獲得用戶名,性別,地址,性別的值 if(jRadioButton1.isSelected()sex="男"else sex="女" address=jTextField2.getText().trim();if(jCheckBox1.isSelected()interest=interest+"網(wǎng)游"if(jCheckBox2.isSelected()interest=interest+"書(shū)法"if(jCheckBox3.isSelected()i

42、nterest=interest+"體育"if(jCheckBox4.isSelected()interest=interest+"音樂(lè)"if(jCheckBox5.isSelected()interest=interest+"其它" if(userpassword.length()>=6&&userpassword.length()<=12&& repassword.length()>=6&&repassword.length()<=12)/驗(yàn)證口令長(zhǎng)度 if(

43、userpassword.equals(repassword) if (jLabel11.getText().equals("正確") if(jLabel11.getText().equals("已注冊(cè)")JOptionPane.showMessageDialog(null, "學(xué)號(hào)已注冊(cè),請(qǐng)另外輸入");else String sql="update u set userpassword='"+userpassword+"',username='"+username+&

44、quot;',sex='"+sex+"',address='"+address+"',interest='"+interest+"'where userid='"+userid+"'" int k=DAO.executeUpdate(sql); if(k=1)JOptionPane.showMessageDialog(null, "注冊(cè)成功"); jTextField1.setText("");

45、 jTextField2.setText(""); jPasswordField1.setText(""); jPasswordField2.setText(""); jTextField4.setText(""); jLabel11.setText(""); jLabel12.setText(""); jLabel13.setText(""); if(jCheckBox1.isSelected()jCheckBox1.setSelected(false)

46、;if(jCheckBox2.isSelected()jCheckBox2.setSelected(false);if(jCheckBox3.isSelected()jCheckBox3.setSelected(false);if(jCheckBox4.isSelected()jCheckBox4.setSelected(false);if(jCheckBox5.isSelected()jCheckBox5.setSelected(false); jRadioButton1.setSelected(true); else JOptionPane.showMessageDialog(null,

47、"學(xué)號(hào)不存在,請(qǐng)另外輸入"); else JOptionPane.showMessageDialog(null, "密碼不一致",null,2); else JOptionPane.showMessageDialog(null, "密碼長(zhǎng)度必須是612位!",null,2); Override public void focusLost(FocusEvent e) if(e.getSource()=jTextField1) userid=jTextField1.getText().trim(); String sql=null; sq

48、l="select * from U where userid='"+userid+"'" ResultSet result=DAO.executeQuery(sql); try if (result.next() /判斷學(xué)號(hào)是否存在 String password=result.getString(2); if(password!=null)JOptionPane.showMessageDialog(null, "學(xué)號(hào)已注冊(cè),請(qǐng)另外輸入");jLabel11.setText("已注冊(cè)"); els

49、e jLabel11.setText("正確"); /判斷學(xué)號(hào)是否注冊(cè)過(guò)else jLabel11.setText("請(qǐng)輸入正確的學(xué)號(hào)!"); catch (SQLException ex) ex.printStackTrace();if(e.getSource()=jPasswordField1) userpassword =String.valueOf(jPasswordField1.getPassword().trim(); /判斷密碼是否是612位 if(userpassword.length()>=6&&userpassword.length()<=12) jLabel12.setText(""); else jLabel12.setText("密碼是612位!"); if(e.getSource()=jPasswordField2)/判斷前后密碼是否一致 repassword =String.valueOf(jPasswordField2.getPassword()

溫馨提示

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

評(píng)論

0/150

提交評(píng)論