




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
文檔來源為:從網(wǎng)絡(luò)收集整理 .word版本可編輯.歡迎下載支持 .鄭州科技學(xué)院java課程設(shè)計設(shè)計(論文)題目:大學(xué)生社團(tuán)信息管理系統(tǒng)所在院:信息工程學(xué)院專業(yè)班級:14通信工程2班學(xué)生姓名:趙創(chuàng)學(xué)號:0指導(dǎo)教師:曾毅2017年3月6日鄭州科技學(xué)院Java課程設(shè)計任務(wù)書專業(yè) 14通信工程 班級 2班 學(xué)號 0 姓名 趙創(chuàng)一、設(shè)計題目: 大學(xué)生社團(tuán)信息管理系統(tǒng)的設(shè)計二、設(shè)計任務(wù)與要求任務(wù):利用所學(xué)的Java知識,在圖書館查閱各種相關(guān)的書籍和個類雜志報刊以及利用互聯(lián)網(wǎng)搜索到詳盡的補(bǔ)充資料, 來設(shè)計一個簡單的大學(xué)生社團(tuán)信息管理系統(tǒng)。要求:了解軟件eclipse 和數(shù)據(jù)庫的基本知識,結(jié)合自己所學(xué)的 Java知識,來設(shè)計一個系統(tǒng),此系統(tǒng)能夠滿足對社團(tuán)人員信息的管理。三、參考文獻(xiàn)[1]<<數(shù)據(jù)庫系統(tǒng)/21世紀(jì)全國高職高專計算機(jī)應(yīng)用專業(yè)規(guī)劃教材 >>,作者:申莉莉編,-出版社:清華大學(xué)[2]<<管理信息系統(tǒng)/面向21世紀(jì)課程教材>>,作者:薛華成編,-出版社:清1文檔來源為:從網(wǎng)絡(luò)收集整理 .word版本可編輯.文檔來源為:從網(wǎng)絡(luò)收集整理 .word版本可編輯.歡迎下載支持 .華大學(xué),2004.3[3]<<SQLSERVER典型網(wǎng)站建設(shè)案例 >>,宇峰編著,-北京:清華大學(xué)出版社,2006.1[4]<<需求分析與系統(tǒng)設(shè)計/軟件工程技術(shù)叢書>>,作者:麥沙塞克著//金芝譯,-出版社:機(jī)械工業(yè)[5]<<系統(tǒng)分析與設(shè)計(需求分析系列)/軟件工程技術(shù)叢書>>,作者:(美)薩茨辛格等著//朱群雄等譯,-出版社:機(jī)械工業(yè)<<eclipse中文版入門與提高/軟件入門與提高叢書>>,作者:王成輝編,-出版社:清華大學(xué),2002四、設(shè)計時間2016 年8 月 31 日至 2016 年 9 月 9 日指導(dǎo)教師簽名:年 月 日2文檔來源為:從網(wǎng)絡(luò)收集整理 .word版本可編輯.文檔來源為:從網(wǎng)絡(luò)收集整理 .word版本可編輯.歡迎下載支持 .中文摘要利用網(wǎng)絡(luò)和數(shù)據(jù)庫技術(shù),結(jié)合目前硬件價格普遍下跌與寬帶網(wǎng)大力建設(shè)的有利優(yōu)勢,應(yīng)用eclipse軟件和采用MySQL數(shù)據(jù)庫系統(tǒng)組件來構(gòu)成的應(yīng)用服務(wù)系統(tǒng),本文開發(fā)了大學(xué)生社團(tuán)管理系統(tǒng)這一程序。它運(yùn)用方便、操作簡單,效率很高。主要提供了對學(xué)生社團(tuán)的管理平臺。關(guān)鍵詞:學(xué)生社團(tuán),eclipse,信息系統(tǒng),SQLserver目錄1項目設(shè)計思路.................................................................................................錯誤!未定義書簽。1.1功能闡述..............................................................................................錯誤!未定義書簽。1.2系統(tǒng)預(yù)覽..............................................................................................錯誤!未定義書簽。1.3功能結(jié)構(gòu)..............................................................................................錯誤!未定義書簽。1.4文件組織結(jié)構(gòu)......................................................................................錯誤!未定義書簽。2數(shù)據(jù)庫設(shè)計.....................................................................................................錯誤!未定義書簽。2.1數(shù)據(jù)庫設(shè)計..........................................................................................錯誤!未定義書簽。2.2數(shù)據(jù)表的設(shè)計......................................................................................錯誤!未定義書簽。3公共類設(shè)計.....................................................................................................錯誤!未定義書簽。3.1連接數(shù)據(jù)庫..........................................................................................錯誤!未定義書簽。3.2判斷輸入是否為空..............................................................................錯誤!未定義書簽。4登錄模塊設(shè)計.................................................................................................錯誤!未定義書簽。4.1登錄模塊概述......................................................................................錯誤!未定義書簽。4.2實現(xiàn)帶背景的窗體..............................................................................錯誤!未定義書簽。4.3登錄模塊實現(xiàn)過程..............................................................................錯誤!未定義書簽。5主窗口設(shè)計.....................................................................................................錯誤!未定義書簽。5.1主窗口概述..........................................................................................錯誤!未定義書簽。5.2主窗體實現(xiàn)過程..................................................................................錯誤!未定義書簽。............................................................................................................錯誤!未定義書簽。............................................................................................................錯誤!未定義書簽。參考文獻(xiàn)............................................................................................................錯誤!未定義書簽。3文檔來源為:從網(wǎng)絡(luò)收集整理 .word版本可編輯.文檔來源為:從網(wǎng)絡(luò)收集整理 .word版本可編輯.歡迎下載支持 .項目設(shè)計思路1.1功能闡述大學(xué)生社團(tuán)信息管理系統(tǒng)是一款輔助人員信息管理的實用性項目, 根據(jù)社團(tuán)的日常管理需要,大學(xué)生社團(tuán)信息管理系統(tǒng)包括系統(tǒng)維護(hù)、人員管理兩大模塊。其中,系統(tǒng)維護(hù)包括添加用戶、修改密碼、退出系統(tǒng)。人員管理包括人員信息的錄入、人員信息的維護(hù),在人員信息維護(hù)中,可以實現(xiàn)人員信息的查詢與修改。上多種功能之間相互聯(lián)系,可以滿足用戶的基本需求。1.2系統(tǒng)預(yù)覽大學(xué)生社團(tuán)信息管理系統(tǒng)有多個窗口組成, 其中包括系統(tǒng)不可缺少的登錄窗口,項目的主窗口,功能模塊的內(nèi)部窗口等。系統(tǒng)登錄窗口效果如圖 1.1所示:圖1.1大學(xué)生社團(tuán)信息管理系統(tǒng)登錄窗口當(dāng)用戶輸入合法的用戶名的密碼后,單機(jī)登錄按鈕,即可進(jìn)入系統(tǒng)主窗口,運(yùn)行結(jié)果如圖1.2所示:圖1.2大學(xué)生社團(tuán)信息管理系統(tǒng)主窗口本程序的主窗口中提供了進(jìn)入各功能模塊的按鈕,通過單擊這些按鈕,即可進(jìn)入各子模塊中。各個子功能功能模塊還提供了查詢、 修改和添加相關(guān)信息的操作,例如添加社團(tuán)人員信息窗口運(yùn)行的結(jié)果如圖 1.3所示:圖1.3 社團(tuán)人員信息錄入窗體1.3功能結(jié)構(gòu)大學(xué)生社團(tuán)信息管理系統(tǒng)是輔助人員信息管理而設(shè)計的, 本系統(tǒng)的功能結(jié)構(gòu)如圖1.4所示:圖1.4 系統(tǒng)功能結(jié)構(gòu)圖大學(xué)生社團(tuán)信息管理系統(tǒng)1.4文件組織結(jié)構(gòu)大學(xué)生社團(tuán)信息管理系統(tǒng)的根目錄是大學(xué)生社團(tuán)管理系統(tǒng),文件組織結(jié)構(gòu)圖系統(tǒng)維護(hù)人員管理如圖1.5所示。圖1.5大學(xué)生社團(tuán)信息管理系統(tǒng)的文件組織結(jié)構(gòu)圖添修退人人員員加改出信信用密系息息1文檔來源為錄.word版本可編輯.維:從網(wǎng)絡(luò)收集整理戶碼統(tǒng)入護(hù)文檔來源為:從網(wǎng)絡(luò)收集整理 .word版本可編輯.歡迎下載支持 .數(shù)據(jù)庫設(shè)計2.1數(shù)據(jù)庫設(shè)計大學(xué)生社團(tuán)信息管理系統(tǒng)采用的是 SQLServer2005數(shù)據(jù)庫,數(shù)據(jù)庫命名為organization,包括的數(shù)據(jù)表為 information和user,表user主要用來記錄用戶名和密碼,用于系統(tǒng)的登錄。表information主要用來記錄大學(xué)生社團(tuán)人員的信息。2.2數(shù)據(jù)表的設(shè)計數(shù)據(jù)表設(shè)計是一個非常重要的環(huán)節(jié),下面對系統(tǒng)中的數(shù)據(jù)表的結(jié)構(gòu)進(jìn)行分析。user(登錄信息表)登錄基本信息表包括了登錄人員的用戶名、密碼,數(shù)據(jù)字段設(shè)計如表2.1所示:表2.1user表字段類型額外說明userIdint自動編號主鍵usernamevarchar用戶名userpasswordvarchar密碼information(社團(tuán)人員信息表)社團(tuán)人員信息表中保存了人員的姓名、性別、出生日期、家庭住址、聯(lián)系電話、所在社團(tuán)、職務(wù)等詳細(xì)信息,數(shù)據(jù)表字段設(shè)計如表 2.2所示:表2.2information表字段類型額外說明Idint自動編號主鍵namevarchar姓名sexvarchar性別birthvarchar出生日期addressvarchar家庭住址telvarchar聯(lián)系電話organizationvarchar所在社團(tuán)positionvarchar職務(wù)2文檔來源為:從網(wǎng)絡(luò)收集整理 .word版本可編輯.文檔來源為:從網(wǎng)絡(luò)收集整理 .word版本可編輯.歡迎下載支持 .公共類設(shè)計3.1連接數(shù)據(jù)庫任何系統(tǒng)的設(shè)計都離不開數(shù)據(jù)庫,每一步數(shù)據(jù)庫操作都需要與數(shù)據(jù)庫建立連接,為了增加代碼的重要性,可以將連接數(shù)據(jù)庫的相關(guān)代碼保存在一個類中, 以便隨時調(diào)用。創(chuàng)建類 DBUtil,在該類中加載數(shù)據(jù)庫驅(qū)動。在該類中定義了獲取數(shù)據(jù)庫連接方法 getcCon(),該方法返回值為Connecttion對象。具體代碼如下:package;publicclassDBUtil{privatestaticStringdriverName="";privateStringURL="jdbc:";privateStringusername="root";privateStringpassword="123";privateConnectionconn=null;static{try{Class.forName(driverName);}catch(ClassNotFoundExceptione){e.printStackTrace();}}publicConnectiongetConn(){try{conn=DriverManager.getConnection(URL,username,password);}catch(SQLExceptione){e.printStackTrace();}returnconn;3文檔來源為:從網(wǎng)絡(luò)收集整理 .word版本可編輯.文檔來源為:從網(wǎng)絡(luò)收集整理 .word版本可編輯.歡迎下載支持 .}publicvoidcloseConn(Connectionconn){if(conn!=null){try{conn.close();conn=null;}catch(SQLExceptione){e.printStackTrace();}}}publicstaticvoidmain(String[]args){newDBUtil().getConn();"鏈接成功");}}3.2判斷輸入是否為空判斷文本輸入框是否為空,因此在這里建立了一個公共類 StringUtil,用來判斷,具體代碼如下:package;publicclassStringUtil{publicstaticbooleanisEmpty(Stringstr){if("".equals(str)||null==str){returntrue;}else{4文檔來源為:從網(wǎng)絡(luò)收集整理 .word版本可編輯.文檔來源為:從網(wǎng)絡(luò)收集整理 .word版本可編輯.歡迎下載支持 .returnfalse;}}publicstaticbooleanisNotEmpty(Stringstr){if(!"".equals(str)&&null!=str){returntrue;}else{returnfalse;}}}登錄模塊設(shè)計4.1登錄模塊概述運(yùn)行程序,首先進(jìn)入系統(tǒng)登錄窗口。為了使窗體中的各個組件放得更加隨意美觀,因此本次系統(tǒng)設(shè)計采用了絕對布局方式,并在窗體中添加了背景圖片,運(yùn)行結(jié)果可以參照圖實現(xiàn)帶背景的窗體在創(chuàng)建窗體時,需要向窗體中添加面板,然后在面板中添加各種組件。Swing中代表面板組件的類為JPanel,該類是以灰色為背景,并且沒有任何圖片,這樣就不能達(dá)到很好的美觀效果。因此該登錄窗口所運(yùn)用的就是面板的疊加,把圖片添加到了JLabel中,然后把JLabel添加到面板中,并且?guī)П尘皥D片的面板放在了最低層,并且該面板透明度設(shè)置為不透明,這樣就可以實現(xiàn)帶背景圖片的登錄窗口,具體代碼如下:package;publicclassLoginFrameextendsJFrame{5文檔來源為:從網(wǎng)絡(luò)收集整理 .word版本可編輯.文檔來源為:從網(wǎng)絡(luò)收集整理 .word版本可編輯.歡迎下載支持 .privateJLabellbUsername=newJLabel("用戶名:",JLabel.CENTER);//實例變量privateJTextFieldtxtUsername=newJTextField();privateJLabellbPassword=newJLabel("密 碼:",JLabel.CENTER);privateJPasswordFieldtxtPassword=newJPasswordField();privateJButtonbtnLogin=newJButton("登錄");privateJButtonbtnCancel=newJButton("取消");private JLabellbTip=new JLabel("大學(xué)生社團(tuán)信息管理系統(tǒng)登錄",JLabel.CENTER);privateDBUtildbUtil=newDBUtil();privateUserDaouserDao=newUserDao();private staticUsermainUser=null;LoginFrame(){ImageIconbackground=new ImageIcon("picture\\t019cd6305e.jpg");JLabelimagLabel=newJLabel(background);this.setSize(800,600);//設(shè)置大小this.setLocationRelativeTo(null);//放在屏幕中間this.setResizable(false);//不可改變大小this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//設(shè)置關(guān)閉屬性Containercont=this.getContentPane();cont.setLayout(null);//自定義布局lbTip.setFont(newFont("黑體",Font.PLAIN,28));lbTip.setForeground(Color.BLUE);lbTip.setBounds(0,30,800,100);cont.add(lbTip);lbUsername.setBounds(150,200,100,25);lbUsername.setFont(newFont("宋體",Font.PLAIN,24));txtUsername.setBounds(280,200,250,28);cont.add(lbUsername);cont.add(txtUsername);6文檔來源為:從網(wǎng)絡(luò)收集整理 .word版本可編輯.文檔來源為:從網(wǎng)絡(luò)收集整理 .word版本可編輯.歡迎下載支持 .lbPassword.setBounds(150,290,100,25);lbPassword.setFont(newFont("宋體",Font.PLAIN,24));txtPassword.setBounds(280,290,250,28);cont.add(lbPassword);cont.add(txtPassword);btnLogin.setBounds(210,380,80,25);btnCancel.setBounds(400,380,80,25);btnLogin.addActionListener(newLoginAction());btnLogin.setFont(newFont("宋體",Font.PLAIN,20));btnCancel.addActionListener(newCancelAction());btnCancel.setFont(newFont("宋體",Font.PLAIN,20));cont.add(btnLogin);cont.add(btnCancel);this.getLayeredPane().add(imagLabel,newInteger(Integer.MIN_VALUE));imagLabel.setBounds(0,0,this.getWidth(),this.getHeight());cont.add(imagLabel);this.setVisible(true);//可見性}publicstaticUsergetMainUser(){returnmainUser;}publicstaticvoidsetMainUser(UsermainUser){LoginFrame.mainUser=mainUser;}publicstaticvoidmain(String[]args){newLoginFrame();}}7文檔來源為:從網(wǎng)絡(luò)收集整理 .word版本可編輯.文檔來源為:從網(wǎng)絡(luò)收集整理 .word版本可編輯.歡迎下載支持 .4.3登錄模塊實現(xiàn)過程登錄窗口設(shè)計十分簡單,有一個用戶名文本框,一個密碼文本框,一個登錄按鈕和一個取消按鈕組成。下面將實現(xiàn)介紹登錄模塊的實現(xiàn)過程。(1)實現(xiàn)用戶登錄操作的數(shù)據(jù)表是 user,首先創(chuàng)建與數(shù)據(jù)表對應(yīng)的 JaveBeen類User,該類中屬性與數(shù)據(jù)表中字段一一對應(yīng),并包含了屬性的get與set方法,具體代碼如下:package;publicclassUser{//javabeanprivateintuserId;privateStringusername;privateStringpassword;publicUser(intuserId,Stringusername,Stringpassword){super();this.userId=userId;this.username=username;this.password=password;}publicUser(Stringusername,Stringpassword){super();this.username=username;this.password=password;}publicUser(){super();}publicintgetUserId(){returnuserId;}publicvoidsetUserId(intuserId){8文檔來源為:從網(wǎng)絡(luò)收集整理 .word版本可編輯.文檔來源為:從網(wǎng)絡(luò)收集整理 .word版本可編輯.歡迎下載支持 .this.userId=userId;}publicStringgetUsername(){returnusername;}publicvoidsetUsername(Stringusername){this.username=username;}publicStringgetPassword(){returnpassword;}publicvoidsetPassword(Stringpassword){this.password=password;}}(2)定義類UserDao,在該類中實現(xiàn)按用戶名與密碼查詢用戶的方法 getUser(),該方法的返回值為 User對象。具體代碼如下:package;publicclassUserDao{publicUsercheckLogin(Connectionconn,Useruser){UserresultUser=null;Stringsql="select*fromuserwhereusername=?andpassword=?";try{PreparedStatementpstmt=conn.prepareStatement(sql);pstmt.setString(1,user.getUsername());pstmt.setString(2,user.getPassword());ResultSetrs=pstmt.executeQuery();if(rs.next()){resultUser=newUser();9文檔來源為:從網(wǎng)絡(luò)收集整理 .word版本可編輯.文檔來源為:從網(wǎng)絡(luò)收集整理 .word版本可編輯.歡迎下載支持 .resultUser.setUserId(rs.getInt("userId"));resultUser.setUsername(rs.getString("username"));resultUser.setPassword(rs.getString("password"));}}catch(SQLExceptione){e.printStackTrace();}returnresultUser;}publicintmodifyPassword(Connectionconn,UserpassUser){intflag=-1;Stringsql="updateusersetpassword=?whereuserId=?";try{PreparedStatementpstmt=conn.prepareStatement(sql);pstmt.setString(1,passUser.getPassword());pstmt.setInt(2,passUser.getUserId());flag=pstmt.executeUpdate();}catch(Exceptione){e.printStackTrace();}returnflag;}}(3)在登錄按鈕的單擊事件中,調(diào)用判斷用戶是否合法的方法 getUser(),實現(xiàn)如果用戶名輸入的用戶名與密碼合法將轉(zhuǎn)發(fā)至系統(tǒng)主窗體; 如果用戶輸入了錯誤的用戶名與密碼,則給出相應(yīng)的提示。具體代碼如下:privateclassLoginActionimplementsActionListener{publicvoidactionPerformed(ActionEvente){10文檔來源為:從網(wǎng)絡(luò)收集整理 .word版本可編輯.文檔來源為:從網(wǎng)絡(luò)收集整理 .word版本可編輯.歡迎下載支持 .Stringusername=txtUsername.getText().trim();Stringpassword=txtPassword.getText().trim();if(StringUtil.isEmpty(username)){JOptionPane.showMessageDialog(null,"用戶名不能為空!");return;}if(StringUtil.isEmpty(password)){JOptionPane.showMessageDialog(null,"密碼不能為空!");return;}Useruser=newUser(username,password);Connectionconn=dbUtil.getConn();mainUser=userDao.checkLogin(conn,user);dbUtil.closeConn(conn);//關(guān)閉連接if(mainUser!=null){MainFramemainFrame=newMainFrame();;}else{JOptionPane.showMessageDialog(null,用"戶名或密碼錯誤!");txtUsername.setText("");txtPassword.setText("");txtUsername.requestFocus();}}}11文檔來源為:從網(wǎng)絡(luò)收集整理 .word版本可編輯.文檔來源為:從網(wǎng)絡(luò)收集整理 .word版本可編輯.歡迎下載支持 .(4)在取消按鈕的單擊事件中,用戶名文本框與密碼文本框里的內(nèi)容將設(shè)置為空,用空文本代替之前輸入的內(nèi)容。具體的代碼如下:privateclassCancelActionimplementsActionListener{publicvoidactionPerformed(ActionEventarg0){txtUsername.setText("");txtPassword.setText("");txtUsername.requestFocus();}}主窗口設(shè)計5.1主窗口概述成功登錄系統(tǒng)后,即可進(jìn)入程序的主窗體。在主窗口中添加了菜單欄, 在菜單欄中添加菜單,菜單中有包括了二級菜單,主窗口運(yùn)行結(jié)果如圖 5.1所示。圖5.1程序主窗體運(yùn)行結(jié)果5.2主窗體實現(xiàn)過程(1)添加用戶當(dāng)單擊添加用戶,則系統(tǒng)自動跳出添加用戶窗口,添加完成以后,對應(yīng)的數(shù)據(jù)庫中的User表中會添加相應(yīng)的用戶名與密碼,此用戶名與密碼可用于登錄該大學(xué)生社團(tuán)信息管理系統(tǒng)的登錄。程序運(yùn)行的結(jié)果如圖5.2所示,相應(yīng)的代碼如下:圖5.2 添加用戶窗體運(yùn)行結(jié)果添加用戶相應(yīng)代碼:package;publicclassaddUserextendsJInternalFrame{privateJPaneljContentPane=null;privateJLabellbTip=null;privateJLabelname=null;privateJTextFieldinputName=null;12文檔來源為:從網(wǎng)絡(luò)收集整理 .word版本可編輯.文檔來源為:從網(wǎng)絡(luò)收集整理 .word版本可編輯.歡迎下載支持 .privateJLabelpassword=null;privateJPasswordFieldinputPassword=null;privateJLabelpasswordTwo=null;privateJPasswordFieldinputPasswordTwo=null;privateJButtonbtnAdd=null;privateJButtonbtnCancel=null;publicaddUser(){super();initialize();}privatevoidinitialize(){this.setBounds(newRectangle(150,150,500,400));this.setIconifiable(true);this.setClosable(true);this.setTitle("添加新用戶");this.setContentPane(getJContentPane());this.setVisible(true);}privateJPanelgetJContentPane(){if(jContentPane==null){password=newJLabel("密碼:",JLabel.CENTER);password.setFont(newFont("宋體",Font.PLAIN,18));password.setBounds(newRectangle(45,130,93,34));passwordTwo=newJLabel("再次確認(rèn):",JLabel.CENTER);passwordTwo.setFont(newFont("宋體",Font.PLAIN,18));passwordTwo.setBounds(newRectangle(36,177,150,34));name=newJLabel("姓名:",JLabel.CENTER);name.setFont(newFont("宋體",Font.PLAIN,18));name.setBounds(newRectangle(44,83,90,29));13文檔來源為:從網(wǎng)絡(luò)收集整理 .word版本可編輯.文檔來源為:從網(wǎng)絡(luò)收集整理 .word版本可編輯.歡迎下載支持 .lbTip=newJLabel("添加新用戶",JLabel.CENTER);lbTip.setBounds(newRectangle(0,0,500,80));lbTip.setForeground(Color.blue);lbTip.setFont(newFont("黑體",Font.PLAIN,26));jContentPane=newJPanel();jContentPane.setLayout(null);jContentPane.add(lbTip,null);jContentPane.add(name,null);jContentPane.add(passwordTwo,null);jContentPane.add(getTxtBookTypeName(),null);jContentPane.add(password,null);jContentPane.add(getTxtBookTypeDesc(),null);jContentPane.add(getPasswordTwo(),null);jContentPane.add(getBtnAdd(),null);jContentPane.add(getBtnCancel(),null);}returnjContentPane;}privateJTextFieldgetPasswordTwo(){if(inputPasswordTwo==null){inputPasswordTwo=newJPasswordField();inputPasswordTwo.setBounds(newRectangle(170,177,170,25));}returninputPasswordTwo;}privateJTextFieldgetTxtBookTypeName(){if(inputName==null){inputName=newJTextField();inputName.setBounds(newRectangle(170,83,170,25));}14文檔來源為:從網(wǎng)絡(luò)收集整理 .word版本可編輯.文檔來源為:從網(wǎng)絡(luò)收集整理 .word版本可編輯.歡迎下載支持 .returninputName;}privateJTextFieldgetTxtBookTypeDesc(){if(inputPassword==null){inputPassword=newJPasswordField();inputPassword.setBounds(newRectangle(170,130,170,25));}returninputPassword;}privateJButtongetBtnAdd(){if(btnAdd==null){btnAdd=newJButton("添加");btnAdd.setFont(newFont("宋體",Font.PLAIN,17));btnAdd.setBounds(newRectangle(120,240,70,30));btnAdd.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEventarg0){StringName=inputName.getText().trim();StringPassword=inputPassword.getText().trim();StringPasswordTwo=inputPasswordTwo.getText().trim();if(StringUtil.isEmpty(Name)){JOptionPane.showMessageDialog(null,"姓名不能為空!");inputName.requestFocus();return;}if(StringUtil.isEmpty(Password)){JOptionPane.showMessageDialog(null,"密碼不能為空!");inputPassword.requestFocus();return;15文檔來源為:從網(wǎng)絡(luò)收集整理 .word版本可編輯.文檔來源為:從網(wǎng)絡(luò)收集整理 .word版本可編輯.歡迎下載支持 .}if(StringUtil.isEmpty(PasswordTwo)){JOptionPane.showMessageDialog(null,"請再次輸入密碼!");inputPasswordTwo.requestFocus();return;}if(Password.equals(PasswordTwo)){BookTypebookType=newBookType(Name,Password);intflag=newBookTypeDao().addBookType(bookType);if(flag>0){JOptionPane.showMessageDialog(null,添"加成功!");inputName.setText("");inputPassword.setText("");inputPasswordTwo.setText("");inputName.requestFocus();}else{JOptionPane.showMessageDialog(null,添"加失敗!");}}else{JOptionPane.showMessageDialog(null,"兩次密碼輸入不一致,請重新輸入!");inputPassword.setText("");inputPasswordTwo.setText("");inputPassword.requestFocus();return;16文檔來源為:從網(wǎng)絡(luò)收集整理 .word版本可編輯.文檔來源為:從網(wǎng)絡(luò)收集整理 .word版本可編輯.歡迎下載支持 .}}});}returnbtnAdd;}privateJButtongetBtnCancel(){if(btnCancel==null){btnCancel=newJButton();btnCancel.setBounds(newRectangle(250,240,70,30));btnCancel.setText("取消");btnCancel.setFont(newFont("宋體",Font.PLAIN,17));}returnbtnCancel;}}(2)修改密碼當(dāng)單擊修改密碼,則系統(tǒng)會運(yùn)行相應(yīng)的代碼, 出現(xiàn)修改密碼窗口,原密碼就是登錄系統(tǒng)的密碼,新密碼是重新定義的密碼,修改密碼之后,舊密碼不能登錄系統(tǒng),應(yīng)該用新密碼登錄該系統(tǒng),在修改密碼過程中,兩次新密碼必須一致,否則不能修改密碼。系統(tǒng)運(yùn)行結(jié)果如圖 5.3所示,相應(yīng)的代碼如下。圖5.3 修改密碼窗體運(yùn)行結(jié)果修改密碼相應(yīng)代碼:package;publicclassModifyPassIFrameextendsJInternalFrame{privateJLabellboldPassword=newJLabel("舊密碼:");privateJPasswordFieldtxtoldPassword=newJPasswordField();privateJLabellbnewPassword=newJLabel("新密碼:");privateJPasswordFieldtxtnewPassword=newJPasswordField();17文檔來源為:從網(wǎng)絡(luò)收集整理 .word版本可編輯.文檔來源為:從網(wǎng)絡(luò)收集整理 .word版本可編輯.歡迎下載支持 .privateJLabellbconfirmPassword=newJLabel("確認(rèn)密碼:");privateJPasswordFieldtxtconfirmPassword=newJPasswordField();privateJButtonbtnModify=newJButton("修改");privateJButtonbtnCancel=newJButton("取消");privateUseruser=LoginFrame.getMainUser();//從LoginFrame中獲取mainUser的值private DBUtildbUtil=newDBUtil();ModifyPassIFrame(){this.setSize(320,300);this.setLocation(240,150);this.setClosable(true);this.setIconifiable(true);this.setTitle("修改密碼");Containercont=this.getContentPane();cont.setLayout(null);lboldPassword.setBounds(50,50,60,25);txtoldPassword.setBounds(120,50,120,25);cont.add(lboldPassword);cont.add(txtoldPassword);lbnewPassword.setBounds(50,85,60,25);txtnewPassword.setBounds(120,85,120,25);cont.add(lbnewPassword);cont.add(txtnewPassword);lbconfirmPassword.setBounds(50,120,60,25);txtconfirmPassword.setBounds(120,120,120,25);cont.add(lbconfirmPassword);cont.add(txtconfirmPassword);btnModify.setBounds(85,190,60,25);btnCancel.setBounds(180,190,60,25);18文檔來源為:從網(wǎng)絡(luò)收集整理 .word版本可編輯.文檔來源為:從網(wǎng)絡(luò)收集整理 .word版本可編輯.歡迎下載支持 .btnModify.addActionListener(newModifyPasswordAction());cont.add(btnModify);cont.add(btnCancel);this.setVisible(true);}privateclassModifyPasswordActionimplementsActionListener{publicvoidactionPerformed(ActionEvente){StringoldPassword=txtoldPassword.getText().trim();StringnewPassword=txtnewPassword.getText().trim();StringconfirmPassword=txtconfirmPassword.getText().trim();if(StringUtil.isEmpty(oldPassword)){JOptionPane.showMessageDialog(null,"舊密碼不能為空!");txtoldPassword.requestFocus();return;}if(StringUtil.isEmpty(newPassword)){JOptionPane.showMessageDialog(null,"新密碼不能為空!");txtnewPassword.requestFocus();return;}if(StringUtil.isEmpty(confirmPassword)){JOptionPane.showMessageDialog(null,"確認(rèn)密碼不能為空!");txtconfirmPassword.requestFocus();return;}if(oldPassword.equals(user.getPassword())){if(newPassword.equals(confirmPassword)){Connectionconn=dbUtil.getConn();UserpassUser=newUser();passUser.setUserId(user.getUserId());19文檔來源為:從網(wǎng)絡(luò)收集整理 .word版本可編輯.文檔來源為:從網(wǎng)絡(luò)收集整理 .word版本可編輯.歡迎下載支持 .passUser.setPassword(newPassword);inti=newUserDao().modifyPassword(conn,passUser);if(i>0){JOptionPane.showMessageDialog(null,"密碼修改成功!");txtoldPassword.setText("");txtnewPassword.setText("");txtconfirmPassword.setText("");user.setPassword(newPassword);}}else{JOptionPane.showMessageDialog(null,"兩次密碼輸入不一致!");txtnewPassword.setText("");txtconfirmPassword.setText("");txtnewPassword.requestFocus();}}else{JOptionPane.showMessageDialog(null,"舊密碼輸入不正確!");txtoldPassword.setText("");txtoldPassword.requestFocus();}}}}(3)退出系統(tǒng)當(dāng)單擊退出系統(tǒng),該系統(tǒng)就會直接退出,相應(yīng)的代碼如下:privateclassExitSystemActionimplementsActionListener{ publicvoidactionPerformed(ActionEventarg0){System.exit(0);}}(1)人員信息錄入20文檔來源為:從網(wǎng)絡(luò)收集整理 .word版本可編輯.文檔來源為:從網(wǎng)絡(luò)收集整理 .word版本可編輯.歡迎下載支持 .單擊人員信息錄入,系統(tǒng)會跳出人員信息錄入窗口,程序運(yùn)行結(jié)果如圖 5.4所示:圖5.4 人員信息錄入窗體運(yùn)行結(jié)果當(dāng)用戶單擊錄入按鈕,則信息則會添加到數(shù)據(jù)庫的 nformation表中,當(dāng)單擊取消按鈕,則文本框中的內(nèi)容全部為空,可以重新輸入。相應(yīng)的代碼如下:人員信息錄入代碼:package;publicclassAddpeopleextendsJInternalFrame{privateJLabellbTip=newJLabel("社團(tuán)人員信息錄入 ",JLabel.CENTER);privateJLabelname=newJLabel("姓名:");privateJTextFieldinputName=newJTextField();privateJLabelsex=newJLabel("性別:");privateButtonGroupgroup=newButtonGroup();privateJRadioButtonJRB1=newJRadioButton("男",false);privateJRadioButtonJRB2=newJRadioButton("女",false);privateJLabelbrithday=newJLabel("出生日期:");privateChoicechoiceOne=newChoice();privateChoicechoiceTwo=newChoice();privateChoicechoiceThree=newChoice();privateJLabeladdress=newJLabel("家庭住址:");privateJTextFieldinputAdress=newJTextField();privateJLabelyear=newJLabel("年");privateJLabelmonth=newJLabel("月");privateJLabelday=newJLabel("日");privateJLabeltel=newJLabel("聯(lián)系電話:");privateJTextFieldinputTel=newJTextField();privateJLabelorganization=newJLabel("所在社團(tuán):");privateChoicechoiceFour=newChoice();privateJLabelposition=newJLabel("擔(dān)任職務(wù):");privateChoicechoiceFive=newChoice();21文檔來源為:從網(wǎng)絡(luò)收集整理 .word版本可編輯.文檔來源為:從網(wǎng)絡(luò)收集整理 .word版本可編輯.歡迎下載支持 .privateButtonbtnAdd=newButton(" 錄入");privateButtonbtnCancel=newButton(" 取消");Addpeople(){JRB1.setActionCommand("男");JRB2.setActionCommand("女");this.setBounds(50,90,600,450);;this.setTitle("信息錄入");this.setIconifiable(true);this.setClosable(true);Containercon=this.getContentPane();con.setLayout(null);lbTip.setBounds(0,0,600,50);con.add(lbTip);name.setBounds(80,80,50,25);con.add(name);inputName.setBounds(160,80,150,23);con.add(inputName);sex.setBounds(80,115,50,25);JRB1.setBounds(160,115,50,25);JRB2.setBounds(260,115,50,25);con.add(sex);con.add(JRB1);con.add(JRB2);brithday.setBounds(80,150,90,25);choiceOne.setBounds(180,150,70,25);year.setBounds(260,150,40,25);choiceTwo.setBounds(290,150,70,25);month.setBounds(370,150,40,25);choiceThree.setBounds(400,150,70,25);day.setBounds(500,150,30,25);22文檔來源為:從網(wǎng)絡(luò)收集整理 .word版本可編輯.文檔來源為:從網(wǎng)絡(luò)收集整理 .word版本可編輯.歡迎下載支持 .con.add(brithday);con.add(choiceOne);con.add(choiceTwo);con.add(choiceThree);con.add(year);con.add(month);con.add(day);for(inti=1990;i<=2017;i++)choiceOne.add(String.valueOf(i));for(intj=1;j<=12;j++)choiceTwo.add(String.valueOf(j));for(intk=1;k<=31;k++)choiceThree.add(String.valueOf(k));group.add(JRB1);group.add(JRB2);address.setBounds(80,190,80,25);inputAdress.setBounds(180,190,150,23);con.add(address);con.add(inputAdress);tel.setBounds(80,230,80,25);inputTel.setBounds(180,230,150,23);con.add(tel);con.add(inputTel);organization.setBounds(80,270,80,25);position.setBounds(80,310,80,25);choiceFour.setBounds(180,270,150,30);choiceFive.setBounds(180,310,150,30);con.add(choiceFour);con.add(choiceFive);con.add(organization);23文檔來源為:從網(wǎng)絡(luò)收集整理 .word版本可編輯.文檔來源為:從網(wǎng)絡(luò)收集整理 .word版本可編輯.歡迎下載支持 .con.add(position);choiceFour.add("青年志愿者協(xié)會 ");choiceFour.add("籃球協(xié)會");choiceFour.add("英語協(xié)會");choiceFour.add("校學(xué)生會");choiceFive.add("會長");choiceFive.add("副會長");choiceFive.add("社團(tuán)成員");btnAdd.setBounds(150,355,60,30);btnCancel.setBounds(270,355,60,30);con.add(btnAdd);con.add(btnCancel);btnAdd.addActionListener(newActionListener(){privateintId;publicvoidactionPerformed(ActionEventarg0){StringName=inputName.getText().trim();Stringxingbie=group.getSelection().getActionCommand();Stringbrith=choiceOne.getSelectedItem()+"年"+choiceTwo.getSelectedItem()+"月"+choiceThree.getSelectedItem()+"日";Stringaddress=inputAdress.getText().trim();Stringtel=(String)inputTel.getText().trim();Stringorganization=choiceFour.getSelectedItem();Stringposition=choiceFive.getSelectedItem();if(StringUtil.isEmpty(Name)){JOptionPane.showMessageDialog(null,"姓名不能為空! ");inputName.requestFocus();return;}if(StringUtil.isEmpty(address))24文檔來源為:從網(wǎng)絡(luò)收集整理 .word版本可編輯.文檔來源為:從網(wǎng)絡(luò)收集整理 .word版本可編輯.歡迎下載支持 .{JOptionPane.showMessageDialog(null,"住址不能為空!");inputTel.requestFocus();return;}if(StringUtil.isEmpty(tel)){JOptionPane.showMessageDialog(null,"電話號碼不能為空!");inputTel.requestFocus();return;}peopleInformationinformation=newpeopleInformation(Id,Name,xingbie,brith,address,tel,organization,position);intflag=newaddInformation().addBookType(information);if(flag>0){JOptionPane.showMessageDialog(null,"添加成功!");inputName.setText("");inputAdress.setText("");inputTel.setText("");inputName.requestFocus();}else{JOptionPane.showMessageDialog(null,"添加失敗!");}}});btnCancel.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEventarg0){}});this.setVisible(true);}}25文檔來源為:從網(wǎng)絡(luò)收集整理 .word版本可編輯.文檔來源為:從網(wǎng)絡(luò)收集整理 .word版本可編輯.歡迎下載支持 .創(chuàng)建與information表對應(yīng)的JaveBeen對象peopleInformation,該類中的屬性與information表中的字段一一對應(yīng),并包括了各屬性的 get與set方法,具體代碼如下:package;publicclasspeopleInformation{privateintId;privateStringname;privateStringsex;privateStringaddress;privateStringbrithday;privateStringtel;privateStringorganization;privateStringposition;privateStringpaint;privateStringbrithYear;privateStringbrithMonth;privateStringbrithDay;publicpeopleInformation(intId){super();this.Id=Id;}publicpeopleInformation(intId,Stringname){super();this.Id=Id;=name;}publicpeopleInformation(intId,Stringname,Stringsex,Stringbrithday,Stringaddress,Stringtel,Stringorganization,Stringposition)26文檔來源為:從網(wǎng)絡(luò)收集整理 .word版本可編輯.文檔來源為:從網(wǎng)絡(luò)收集整理 .word版本可編輯.歡迎下載支持 .{super();this.Id=Id;=name;this.sex=sex;this.brithday=brithday;this.address=address;this.tel=tel;anization=organization;this.position=position;}publicpeopleInformation(Stringname,Stringsex,Stringbrithday,Stringaddress,Stringtel,Stringorganization,Stringposition){super();=name;this.sex=sex;this.brithday=brithday;this.address=address;this.tel=tel;anization=organization;this.position=position;}publicpeopleInformation(Stringname){=name;}publicpeopleInformation(){super();}publicintgetId(){27文檔來源為:從網(wǎng)絡(luò)收集整理 .word版本可編輯.文檔來源為:從網(wǎng)絡(luò)收集整理 .word版本可編輯.歡迎下載支持 .returnId;}publicvoidsetId(intid){Id=id;}publicStringgetName(){returnname;}publicvoidsetName(Stringname){=name;}publicStringgetSex(){returnsex;}publicvoidsetSex(Stringsex){this.sex=sex;}publicStringgetAddress(){returnaddress;}publicvoidsetAddress(Stringaddress){this.address=address;}publicStringgetBrithday(){returnbrithday;}publicvoidsetBrithday(Stringbrithday){this.brithday=brithday;}publicStringgetTel(){28文檔來源為:從網(wǎng)絡(luò)收集整理 .word版本可編輯.文檔來源為:從網(wǎng)絡(luò)收集整理returntel;}publicvoidsetTel(Stringtel){this.tel=tel;}publicStringgetOrganization(){returnorganization;}publicvoidsetOrganization(Stringorganization){anization=organization;}publicStringgetPosition(){returnposition;}publicvoidsetPosition(Stringposition){this.position=position;}publicStringgetPaint(){returnpaint;}publicvoidsetPaint(Stringpaint){this.paint=paint;}publicStringgetBrithYear(){returnbrithYear;}publicvoidsetBrithYear(StringbrithYear){this.brithYear=brithYear;}publicStringgetBrithMonth(){
.word版本可編輯.歡迎下載支持 .29文檔來源為:從網(wǎng)絡(luò)收集整理 .word版本可編輯.文檔來源為:從網(wǎng)絡(luò)收集整理 .word版本可編輯.歡迎下載支持 .returnbrithMonth;}publicvoidsetBrithMonth(StringbrithMonth){this.brithMonth=brithMonth;}publicStringgetBrithDay
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- Brand KPIs for ready-made-food Du darfst in Germany-外文版培訓(xùn)課件(2025.2)
- 關(guān)于建設(shè)和諧文化的幾個問題
- 綠地物業(yè)服務(wù)合同x
- 2025年員工聘用合同協(xié)議書(范本)示例
- 2025辦公室租賃合同樣本
- 《隔音排水瀝青路面》課件
- 《面試技巧與策略》課件
- 《智能客服系統(tǒng)發(fā)展概況》課件
- 2025設(shè)備租賃合同簡易樣本
- 《掌握高效學(xué)習(xí)之道:課件指引之路》
- 外傷引起失血性休克護(hù)理查房課件
- 危險性較大的分部分項工程一覽表(建辦質(zhì)〔2018〕31號)
- 景區(qū)保安投標(biāo)方案技術(shù)標(biāo)
- 腰椎間盤突出癥中醫(yī)臨床路徑方案(完整版)
- 關(guān)羽單刀赴會
- JCT2110-2012 室內(nèi)空氣離子濃度測試方法
- 網(wǎng)絡(luò)巡檢報告模板
- 血液透析患者心力衰竭的診斷與治療
- 九宮格數(shù)獨(dú)附答案
- 公文調(diào)研方案
- 小學(xué)英語四年級下冊Unit 4 Part A Let's learn教學(xué)設(shè)計1
評論
0/150
提交評論