學(xué)生信息管理系統(tǒng)java課程設(shè)計(jì)_第1頁(yè)
學(xué)生信息管理系統(tǒng)java課程設(shè)計(jì)_第2頁(yè)
學(xué)生信息管理系統(tǒng)java課程設(shè)計(jì)_第3頁(yè)
已閱讀5頁(yè),還剩12頁(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、JAVA程序設(shè)計(jì)課程設(shè)計(jì)陳述宇文皓月課題:學(xué)生信息管理系統(tǒng)姓名:學(xué)號(hào):同組姓名:專業(yè)班級(jí):指導(dǎo)教師:設(shè)計(jì)時(shí)間:評(píng)閱意見(jiàn):目錄1'需仲勺功能32、設(shè)計(jì)目的3指導(dǎo)老師簽名:1、2、數(shù)據(jù)庫(kù)結(jié)構(gòu)描述43、系統(tǒng)詳細(xì)設(shè)計(jì)文檔64、各個(gè)模塊的實(shí)現(xiàn)方法描述95、測(cè)試數(shù)據(jù)及期望結(jié)果11一、系統(tǒng)描述1、需求實(shí)現(xiàn)的功能1.1、錄入學(xué)生基本信息的功能學(xué)生基本信息主要包含:學(xué)號(hào)、姓名、年齡、出生地、專業(yè)、班級(jí)總學(xué)分,在拔出時(shí),如果數(shù)據(jù)庫(kù)已經(jīng)存在該學(xué)號(hào),則不克不及再拔出該學(xué)號(hào)。1.2、修改學(xué)生基本信息的功能在管理員模式下,只要在表格中選中某個(gè)學(xué)生,就可以對(duì)該學(xué)生信息進(jìn)行修改。1.3、查詢學(xué)生基本信息的功能可使用“

2、姓名”對(duì)已存有的學(xué)生資料進(jìn)行查詢。1.4、刪除學(xué)生基本信息的功能在管理員模式下,只要選擇表格中的某個(gè)學(xué)生,就可以刪除該學(xué)生。1.5、用戶登陸用分歧的登錄權(quán)限可以進(jìn)入分歧的后臺(tái)界面,從而實(shí)現(xiàn)權(quán)限操縱。1.6、用戶登陸信息設(shè)置可以修改用戶登陸密碼2、設(shè)計(jì)目的學(xué)生信息管理系統(tǒng)是一個(gè)教育單位不成缺少的部分。一個(gè)功能齊全、簡(jiǎn)單易用的信息管理系統(tǒng)不單能有效地減輕學(xué)校相關(guān)工作人員的工作負(fù)擔(dān),它的內(nèi)容對(duì)于學(xué)校的決策者和管理者來(lái)說(shuō)都至關(guān)重要。所以學(xué)生信息管理系統(tǒng)應(yīng)該能夠?yàn)橛脩籼峁┏渥愕男畔⒑涂旖莸牟樵兪侄?。但一直以?lái)人們使用傳統(tǒng)人工的方式管理文件檔案、統(tǒng)計(jì)和查詢數(shù)據(jù),這種管理方式存在著許多缺點(diǎn),如:效率低、保密

3、性差、人工的大量浪費(fèi);另外時(shí)間一長(zhǎng),將發(fā)生大量的文件和數(shù)據(jù),這對(duì)于查找、更新和維護(hù)都帶來(lái)了很多困難。隨著科學(xué)技術(shù)的不竭提高,計(jì)算機(jī)科學(xué)日漸成熟,其強(qiáng)大的功能已為人們深刻認(rèn)識(shí),它已進(jìn)入人類(lèi)社會(huì)的各個(gè)領(lǐng)域并發(fā)揮著越來(lái)越重要的作用。作為計(jì)算機(jī)應(yīng)用的一部分,使用計(jì)算機(jī)對(duì)學(xué)校的各類(lèi)信息進(jìn)行管理,具有手工管理無(wú)法比較的優(yōu)點(diǎn)。例如:檢索迅速、查詢方便、效率高、可靠性好、存儲(chǔ)量大、保密性好、壽命長(zhǎng)、成本低等。這些優(yōu)點(diǎn)能夠極大地提高學(xué)校信息管理的效率,也是一個(gè)單位科學(xué)化、正規(guī)化管理,與世界接軌的重要條件。本系統(tǒng)是將現(xiàn)代化的計(jì)算機(jī)技術(shù)和傳統(tǒng)的教學(xué)、教務(wù)工作相結(jié)合,依照學(xué)院的工作流程設(shè)計(jì)完成的。通過(guò)一個(gè)簡(jiǎn)化的學(xué)生信

4、息管理系統(tǒng),使學(xué)生信息管理工作系統(tǒng)化、規(guī)范化、白動(dòng)化,從而達(dá)到提高學(xué)生信息管理效率的目的。二、分析與設(shè)計(jì)1、功能模塊劃分2、2.11功能模塊劃分圖圖數(shù)據(jù)庫(kù)結(jié)構(gòu)描述、數(shù)據(jù)庫(kù)E-R模型登錄用戶管理賬號(hào)密石馬職位圖2登錄用戶管理E-R圖圖3實(shí)體學(xué)生E-R圖2.2、數(shù)據(jù)庫(kù)關(guān)系模型一一二維表表1學(xué)生表(student)字段數(shù)據(jù)類(lèi)型stuldnvarchar(30)stuNamenvarchar(30)stuSexnvarchar(30)stuAgeintstuJgnvarchar(30)stuZynvarchar(30)classldnvarchar(30)stuSoursenumeric(5,2)圖4

5、錄入數(shù)據(jù)后的學(xué)生表分明號(hào)名別齡貫業(yè)號(hào)學(xué)說(shuō)學(xué)姓性孑籍專班總表2登陸權(quán)限表(login)字段數(shù)據(jù)類(lèi)型說(shuō)明userldnvarchar(30)用戶名(賬號(hào)),即登陸Idpasswordnvarchar(30)登陸密碼positionnvarchar(30)職位,如班委,普通學(xué)生圖5錄入數(shù)據(jù)后的登陸權(quán)限表3、系統(tǒng)詳細(xì)設(shè)計(jì)文檔3.1、系統(tǒng)執(zhí)行流程圖圖6系統(tǒng)執(zhí)行流程圖3.2、類(lèi)的劃分表巽茁鬲查詢類(lèi)類(lèi)名StuQuery.java類(lèi)的成員屆性與*JPaneljp1JLabeljpJTeXSFielJButtonjp1_jb1jJTablejtbJScrollPanejspTableModel嶇(管理員)用戶登

6、陸1_jl1djp1_jtf1說(shuō)明定義一個(gè)面板定義兩個(gè)標(biāo)簽定義一個(gè)文本輸入框tru保義三個(gè)按鈕定義一個(gè)表定義一個(gè)滾動(dòng)面板,用丁存放表目定志通H缶塊的型),用丁更新表數(shù)據(jù)pu傳遞三個(gè)參數(shù),實(shí)現(xiàn)title,booleanmodel)對(duì)話super(Main,title,model)調(diào)用父類(lèi)的構(gòu)注方法,實(shí)現(xiàn)模式對(duì)話觸b隋理員)界面_med(ActionBventarg主4哆改學(xué)生借息類(lèi)ctionPerfovoid叫牛響應(yīng)整齡0)學(xué)生界面類(lèi)卡、UpdaSStu.java添JLabe員I屬陛與方祚jl,jl2jfe,jl4,jl5矚l7,jl退出用于物JTextFieldjtf1,jtf2,jtf3,j

7、tf4,jtf5,jtf6,jtf7,jtf8JButtonjb1,jb2,jb3publicvoidaddView()置數(shù)據(jù)庫(kù)表的字段名定義八個(gè)文本框,用于接收表的各字段值定義三個(gè)按鈕,用于事件響應(yīng)這是修改學(xué)生界面的函數(shù)封裝publicAddStu(FrameMain,Stringtitle,booleanmodel)構(gòu)造方法,通過(guò)傳遞三個(gè)參數(shù),實(shí)現(xiàn)對(duì)話super(Main,title,model)調(diào)用父類(lèi)的構(gòu)造方法,實(shí)現(xiàn)模式對(duì)話publicUpdateStu(FrameMain,String因?yàn)橐薷男畔?,那么title,TableModeltm,int必須要獲得所選中的那rowNo,bo

8、oleanmodel)一行的所有信息,把它們添加到文本框作為默認(rèn)值,因此構(gòu)造方法還應(yīng)添加一個(gè)參數(shù)即傳遞一個(gè)模型tm,并傳遞所選中的行號(hào)rowpublicvoid事件響應(yīng)方法actionPerformed(ActionEvente)表5修改管理人員信息類(lèi)類(lèi)名類(lèi)的成員屆性與方法UpdateLogin.javaJLabeljl1,jl2,jl3JTextFieldjtf1,jtf2,jtf3JButtonjb1,jb2,jb3JTablejtbPurViewModelpvmpublicvoidupView()publicUpdateLogin(FrameMain,Stringtitle,PurVie

9、wModelpvm,introwNo,booleanmodel)super(Main,title,model)publicvoidactionPerformed(ActionEvente)說(shuō)明定義三個(gè)標(biāo)簽,即用戶名,密碼,職位定義三個(gè)文本框,對(duì)應(yīng)三個(gè)標(biāo)簽的值定義三個(gè)按鈕,用于事件響應(yīng)定義一個(gè)表格,用于顯示登陸用戶信息自定義登陸用戶信息的數(shù)據(jù)更新模型這是修改賬戶信息權(quán)限的界面函數(shù)的封裝因?yàn)橐薷男畔?,那么必須要獲得所選中的那一行的所有信息,把它們添加到文本框作為默認(rèn)值,因此構(gòu)造方法還應(yīng)添加一個(gè)參數(shù)即傳遞一個(gè)模型tm,并傳遞所選中的行號(hào)row調(diào)用父類(lèi)的構(gòu)造方法,實(shí)現(xiàn)模式對(duì)話事件響應(yīng)方法表6表模式-

10、更新數(shù)據(jù)類(lèi)名類(lèi)的成員屆性與方法TableModel.javaVectorrowData,row,columnResultSetrsSqlConnconnpublicTableModel(Stringsql)publicStringgetColumnName(intcolumn)publicintgetColumnCount()說(shuō)明定義表格所需要的集合(表,行,列)定義一個(gè)記錄集,用于接收從數(shù)據(jù)庫(kù)返回來(lái)的記錄集定義一個(gè)用于連接數(shù)據(jù)庫(kù)的對(duì)象,SqlConn是連接數(shù)據(jù)庫(kù)的類(lèi)構(gòu)造方法,并傳一個(gè)SQL語(yǔ)句,實(shí)現(xiàn)查詢操縱這是一個(gè)重寫(xiě)的方法,用于設(shè)置表的列名得到數(shù)據(jù)模型記錄集的列數(shù)publicintgetR

11、owCount()得到數(shù)據(jù)模型記錄集的行數(shù)publicObjectgetValueAt(int得到數(shù)據(jù)模型記錄集某行某列的值arg0,intargl)4、各個(gè)模塊的實(shí)現(xiàn)方法描述說(shuō)明:此處只包含了個(gè)人完成的模塊的實(shí)現(xiàn)方法描述4.1、學(xué)生信息查詢學(xué)生信息查詢窗口,采取了基于管理窗口,即主界面的對(duì)話框?qū)崿F(xiàn),實(shí)現(xiàn)方法如下:1)定義查詢所需要的面板和組件。2)調(diào)用父類(lèi)的構(gòu)造方法,實(shí)現(xiàn)模式對(duì)話。3)進(jìn)行學(xué)生信息查詢。4.2、修改管理人員信息修改管理人員信息的界面,通過(guò)模式對(duì)話,即繼承JDialog對(duì)話框來(lái)實(shí)現(xiàn)的,實(shí)現(xiàn)方法如下:1)定義修改學(xué)生信息的相關(guān)組件。2)加載數(shù)據(jù)庫(kù),獲得選中的那一行的所有信息。3)

12、把組件添加到窗體。4)調(diào)用父類(lèi)的構(gòu)造方法,實(shí)現(xiàn)模式對(duì)話。5)調(diào)用修改用戶權(quán)限信息的界面的方法。6)修改管理人員信息。7)調(diào)用數(shù)據(jù)庫(kù)連接,并設(shè)置把持更新的sql語(yǔ)句。4.3、修改學(xué)生信息修改學(xué)生信息的界面,通過(guò)模式對(duì)話,即繼承JDialog對(duì)話框來(lái)實(shí)現(xiàn),實(shí)現(xiàn)方法如下:1)定義修改學(xué)生信息的相關(guān)組件。2)加載數(shù)據(jù)庫(kù),獲得選中的那一行的所有信息。3)把組件添加到窗體。4)調(diào)用父類(lèi)的構(gòu)造方法,實(shí)現(xiàn)模式對(duì)話。5)調(diào)用修改學(xué)生信息的界面的方法。6)修改學(xué)生信息。7)完成相應(yīng)功能。4.4、更新數(shù)據(jù)這是一個(gè)表模型,用于數(shù)據(jù)更新,實(shí)現(xiàn)方法如下:1)定義表格所需要的集合。2)定義一個(gè)記錄集,用于接收從數(shù)據(jù)庫(kù)返回來(lái)

13、的記錄集。3)定義一個(gè)用于連接數(shù)據(jù)庫(kù)的對(duì)象。4)設(shè)置表格的列名。5)創(chuàng)建表的記錄集。6)調(diào)用數(shù)據(jù)庫(kù)連接。7)設(shè)置表的列名,并得到表的列數(shù)和行數(shù)。8)得到某行某列的值。5、測(cè)試數(shù)據(jù)及期望結(jié)果5.1、學(xué)生信息查詢數(shù)據(jù)測(cè)試及期望結(jié)果數(shù)據(jù)測(cè)試及期望結(jié)果如下圖:圖7為學(xué)生登錄后的最初界面;圖8為學(xué)生檢查所有信息界面;圖9為全部學(xué)生的信息記錄(此處同時(shí)運(yùn)用到了TableModel類(lèi));圖10則是實(shí)現(xiàn)了此處的查詢功能,測(cè)試數(shù)據(jù)為:姓名:肖立本期望結(jié)果將顯示以下數(shù)據(jù):學(xué)號(hào):904325姓名:肖立本性別:男年齡:23出生地:安徽專業(yè):信息管理班級(jí):9040303總學(xué)分:542.5圖7學(xué)生信息管理系統(tǒng)圖8學(xué)生信息

14、管理系統(tǒng)-顯示記錄圖9學(xué)生信息管理系統(tǒng)-顯示所有信息圖10學(xué)生信息管理系統(tǒng)-學(xué)生信息查詢5.2、修改管理人員數(shù)據(jù)測(cè)試及期望結(jié)果數(shù)據(jù)測(cè)試及期望結(jié)果如下圖:圖11將顯示出所有管理人員信息。此處測(cè)試的數(shù)據(jù)為:賬號(hào)1:admin密碼1:admin職位1:班委賬號(hào)2:user密碼2:user職位2:普通學(xué)生圖12是彈出的修改密碼窗口。此處可將密碼admin修改為其它值。圖11顯示所有管理人員信息圖12修改管理人員信息窗口5.3、修改學(xué)生信息數(shù)據(jù)測(cè)試及期望結(jié)果數(shù)據(jù)測(cè)試及期望結(jié)果如下圖:圖13為全部學(xué)生的信息記錄(此處同時(shí)運(yùn)用到了TableModel類(lèi));圖14是彈出的修改學(xué)生信息窗口:測(cè)試數(shù)據(jù):姓名:楊明

15、輝期望結(jié)果:可修改姓名、性別、年齡、出生地、專業(yè)、班級(jí)和總學(xué)分。圖13學(xué)生信息管理系統(tǒng)-顯示所有信息圖14修改學(xué)生信息窗口三、系統(tǒng)測(cè)試1、系統(tǒng)啟動(dòng)界面圖15系統(tǒng)啟動(dòng)界面2、用戶登錄界面圖16用戶登錄界面3、班委(管理員)界面,即具有完全權(quán)限的用戶后臺(tái)界面圖17管理員界面4、班委(管理員)界面子菜單項(xiàng)顯示圖18管理員界面子菜單-系統(tǒng)界面圖19管理員界面子菜單-學(xué)生管理界面圖20管理員界面子菜單-系統(tǒng)設(shè)置界面5、學(xué)生信息查詢界面圖21學(xué)生信息查詢6、學(xué)生信息查詢結(jié)果顯示圖22學(xué)生信息查詢顯示7、添加學(xué)生信息界面在沒(méi)有輸入學(xué)號(hào)或者姓名,以及某一項(xiàng)時(shí),會(huì)彈出一個(gè)對(duì)話框進(jìn)行提示,如沒(méi)有輸入學(xué)號(hào)時(shí):圖23

16、添加學(xué)生信息8、修改學(xué)生信息界面(學(xué)號(hào)是主鍵,灰色顯示,即不成更改)圖24修改學(xué)生信息9、顯示所有學(xué)生信息圖25顯示所有信息10、當(dāng)沒(méi)有選中一行的時(shí)候,不克不及修改和刪除,并彈出提示警告框圖26修改和刪除警告框圖11、刪除文件時(shí)的確認(rèn)對(duì)話框(點(diǎn)擊確認(rèn)時(shí)會(huì)刪除,點(diǎn)擊取消,則返回主界面)圖27刪除學(xué)生確認(rèn)對(duì)話框12、顯示所有登陸用戶信息圖28顯示登錄用戶信息示意圖13、修改用戶登陸密碼,選中某個(gè)用戶進(jìn)行修改圖29修改用戶登錄密碼界面示意圖14、關(guān)閉用戶記錄,即不顯示所有用戶信息圖30關(guān)閉用戶記錄示意圖15、關(guān)閉學(xué)生記錄圖31關(guān)閉學(xué)生記錄示意圖16、退出系統(tǒng)確認(rèn)對(duì)話框只有確認(rèn)時(shí)才會(huì)退出系統(tǒng),否則返加

17、主界面圖32退出系統(tǒng)17、普通學(xué)生登陸后的界面(即不克不及對(duì)學(xué)生信息進(jìn)行添加,修改和刪除以及用戶密碼修改,對(duì)應(yīng)的這幾項(xiàng)灰色顯示,不成點(diǎn)擊)圖33學(xué)生登錄界面(1)圖34學(xué)生登錄界面(2)四、心得體會(huì)這次為期一周的課程設(shè)計(jì)讓我對(duì)java有了新的認(rèn)識(shí),首先我接觸了很多上課見(jiàn)過(guò)但沒(méi)有實(shí)際用過(guò)的類(lèi)和方法,讓我對(duì)編程有了許多新的思想。大一學(xué)了C語(yǔ)言、C+埒,雖然當(dāng)時(shí)學(xué)的還不錯(cuò),由于學(xué)的都是入門(mén)知識(shí),所以白己做的程序只能實(shí)現(xiàn)一定的功能,和白己平時(shí)用的軟件相差很大。這學(xué)期剛開(kāi)課學(xué)java,雖然知道這是一門(mén)很有用的語(yǔ)言,但是卻感覺(jué)沒(méi)什么新鮮感,它的跨平臺(tái)特性也只是聽(tīng)聽(tīng),根本沒(méi)有認(rèn)識(shí),由于平時(shí)學(xué)習(xí)不刻苦,也沒(méi)有

18、時(shí)間靜下心來(lái)寫(xiě)過(guò)java代碼,當(dāng)?shù)弥詈笃谀┳詈笠恢軐⑦M(jìn)行java課程設(shè)計(jì),才靜下心來(lái)開(kāi)始研究java,結(jié)合以前的編程知識(shí),做起了白己的程序。與此同時(shí),我們也在進(jìn)行數(shù)據(jù)庫(kù)課程設(shè)計(jì),和這個(gè)系統(tǒng)相類(lèi)似,做起來(lái)比較熟練,同時(shí)想通過(guò)做課程設(shè)計(jì)將數(shù)據(jù)庫(kù)和java更好的結(jié)合運(yùn)用起來(lái),感覺(jué)這樣才干夠更貼近實(shí)際應(yīng)用。這次課程設(shè)計(jì)使我對(duì)java的跨平臺(tái)性有了進(jìn)一步認(rèn)識(shí),同時(shí)加深了課堂上所學(xué)到的知識(shí)。雖然這是第三次課程設(shè)計(jì),而且白己也有了兩年的上機(jī)實(shí)驗(yàn),但我不克不及不說(shuō)這一次課程設(shè)計(jì)是前兩次以及任何一節(jié)上機(jī)實(shí)驗(yàn)課都不成比的。在課程設(shè)計(jì)這一段時(shí)間,使我收獲了很多在上機(jī)課上無(wú)法學(xué)習(xí)到的知識(shí),尤其是需求分析和eclip

19、se熟練的使用。因?yàn)檫@一部分知識(shí)的不熟練,在程序設(shè)計(jì)過(guò)程中遇到了很多困難,但通過(guò)老師的指導(dǎo)和一次又一次的指導(dǎo)、改寫(xiě)、調(diào)試,將這些困難都解決了,心中的喜悅感油然而生。為了能使程序更加的完善,更加人性化,我也利用了很多的課余時(shí)間,查找了各方面的資料,看到一個(gè)小型系統(tǒng)能夠展示在電腦屏幕上時(shí),感覺(jué)白己這段時(shí)間的付出是非常值得的,也使我對(duì)java發(fā)生了更濃厚的興趣,對(duì)白己的學(xué)習(xí)以及將來(lái)的工作都是有很大的幫忙的。整個(gè)課程設(shè)計(jì)過(guò)程讓我的java知識(shí)得到了應(yīng)用,體驗(yàn)了程序員編程時(shí)的喜怒哀樂(lè),知識(shí)、心智,得到全方位提升,收獲頗豐。五、參考文獻(xiàn)著作文獻(xiàn):趙海廷.Java語(yǔ)言程序設(shè)計(jì)教程.北京:清華大學(xué)出版社.20

20、12孫印杰,劉斌,孫玉強(qiáng).Java編程案例精解.北京:電子工業(yè)出版社.20053何梅.java編程實(shí)例系列叢書(shū).北京:清華大學(xué)出版社,2002楊昭.二級(jí)Java語(yǔ)言程序設(shè)計(jì)教程.北京:中國(guó)水利水電出版社,2006趙文靖.Java程序設(shè)計(jì)基礎(chǔ)與上機(jī)指導(dǎo).北京:清華大學(xué)出版社,2006六、附錄1、功能:這是學(xué)生信息查詢窗口,采取基于管理窗口,即主界面的對(duì)話框?qū)崿F(xiàn)packagecom.View;importjava.awt.*;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjavax.swing.

21、*;importcom.Tools.MyFont;publicclassStuQueryextendsJDialogimplementsActionListener/定義查詢所需要的面板和組件JPaneljp1;JLabeljp1_jl1;JTextFieldjp1_jtf1;JButtonjp1_jb1,jp1_jb2,jp1_jb3;JTablejtb;JScrollPanejsp;TableModeltm;publicStuQuery(FrameMain,Stringtitle,booleanmodel)/調(diào)用父類(lèi)的構(gòu)造方法,實(shí)現(xiàn)模式對(duì)話super(Main,title,model);j

22、p1=newJPanel();jp1_jl1=newJLabel("請(qǐng)輸入姓名:");jp1_jl1.setFont(MyFont.f1);jp1_jtf1=newJTextField(15);jp1_jb1=newJButton("查詢->");jp1_jb1.setFont(MyFont.f1);jp1_jb1.addActionListener(this);jp1_jb2=newJButton("清除");jp1_jb2.setFont(MyFont.f1);jp1_jb2.addActionListener(this);

23、jp1_jb3=newJButton("顯示所有記錄");jp1_jb3.setFont(MyFont.f1);jp1_jb3.addActionListener(this);jp1.add(jp1_jl1);jp1.add(jp1_jtf1);jp1.add(jp1_jb1);jp1.add(jp1_jb2);jp1.add(jp1_jb3);jtb=newJTable();jsp=newJScrollPane(jtb);this.add(jp1,"North");this.add(jsp,"Center");this.setSiz

24、e(600,400);this.setVisible(true);OverridepublicvoidactionPerformed(ActionEventarg0)/TODOAuto-generatedmethodstub/如果點(diǎn)擊了查詢按鈕if(arg0.getSource()=jp1_jb1)/獲取文本框的值StringstuName=jp1_jtf1.getText().trim();/其中trim()是去掉文本框前面可能有的空格,但不克不及去掉字符串中的空格Stringsql="select*fromstudentwherestuName='"+stuNa

25、me+"'"/調(diào)用模型tm=newTableModel(sql);jtb.setModel(tm);elseif(arg0.getSource()=jp1_jb2)jp1_jtf1.setText("");elseif(arg0.getSource()=jp1_jb3)(tm=newTableModel(null);jtb.setModel(tm);2、功能:這是一個(gè)表模型,用于更新數(shù)據(jù)packagecom.View;importcom.SqlConnection.*;/引入數(shù)據(jù)庫(kù)連接的包importjava.sql.*;importjava.u

26、til.*;importjavax.swing.table.AbstractTableModel;importcom.SqlConnection.SqlConn;publicclassTableModelextendsAbstractTableModel(/定義表格所需要的集合VectorrowData,row,column;/定義一個(gè)記錄集,用于接收從數(shù)據(jù)庫(kù)返回來(lái)的記錄集ResultSetrs;/定義一個(gè)用于連接數(shù)據(jù)庫(kù)的對(duì)象SqlConnconn;publicTableModel(Stringsql)(if(sql=null)(sql="select*fromstudent&quo

27、t;/設(shè)置表格的列名column=newVector();column.add("學(xué)號(hào)");column.add("姓名");column.add("性別");column.add("年齡");column.add("出生地");column.add("專業(yè)");column.add("班級(jí)”);column.add("總學(xué)分”);/創(chuàng)建表的記錄集rowData=newVector();/調(diào)用數(shù)據(jù)庫(kù)連接conn=newSqlConn();rs=conn.s

28、qlQuery(sql);trywhile(rs.next()row=neWVector();row.add(rs.getString(1);row.add(rs.getString(2);row.add(rs.getString(3);row.add(rs.getString(4);row.add(rs.getString(5);row.add(rs.getString(6);row.add(rs.getString(7);row.add(rs.getString(8);rowData.add(row);catch(Exceptione)(e.printStackTrace();/TODOh

29、andleexceptionOverride/設(shè)置表的列名publicStringgetColumnName(intcolumn)(/TODOAuto-generatedmethodstubreturn(String)this.column.get(column);Override/得到的列數(shù)publicintgetColumnCount()(/TODOAuto-generatedmethodstubreturnthis.column.size();/得到的行數(shù)OverridepublicintgetRowCount()(/TODOAuto-generatedmethodstubreturnt

30、his.rowData.size();Override/得到某行某列的值publicObjectgetValueAt(intarg0,intarg1)(/TODCAuto-generatedmethodstubreturn(Vector)this.rowData.get(arg0).get(arg1);3、功能:這是修改管理人員信息的界面,通過(guò)模式對(duì)話(即繼承JDialog對(duì)話框)來(lái)實(shí)現(xiàn)packagecom.View;importjava.awt.*;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;imp

31、ortjavax.swing.*;importcom.SqlConnection.SqlConn;importcom.Tools.MyFont;publicclassUpdateLoginextendsJDialogimplementsActionListener/定義修改學(xué)生信息的相關(guān)組件JLabeljl1,jl2,jl3;JTextFieldjtf1,jtf2,jtf3;JButtonjb1,jb2,jb3;/這是修改賬戶信息權(quán)限的界面函數(shù)的封裝publicvoidupView()/加載數(shù)據(jù)庫(kù),獲得選中的那一行的所有信息jl1=newJLabel("賬號(hào):");/因?yàn)橘~

32、號(hào)是主鍵,設(shè)置文本框不成編輯的同時(shí),一般也設(shè)置標(biāo)簽灰色顯示,以區(qū)別其他標(biāo)簽jl1.setEnabled(false);jl1.setBounds(20,20,60,25);jl1.setFont(MyFont.f1);jl2=newJLabel("密碼:");jl2.setBounds(250,20,60,25);jl3=newJLabel("職位:");jl3.setEnabled(false);jl3.setFont(MyFont.f1);jl3.setBounds(20,60,60,25);jtf1=newJTextField(20);/由于賬號(hào)是

33、主鍵,因此不克不及修改,即設(shè)置障礙曙jtf1不成編輯jtf1.setEnabled(false);jtf1.setBounds(70,20,130,25);jtf2=newJTextField(20);jtf2.setBounds(300,20,130,25);jtf3=newJTextField(20);jtf3.setEnabled(false);jtf3.setBounds(70,60,130,25);jb1=newJButton("修改");jb1.setFont(MyFont.f1);jb1.setBounds(100,100,80,25);jb1.addActi

34、onListener(this);jb2=newJButton("取消");jb2.setFont(MyFont.f1);jb2.setBounds(280,100,80,25);jb2.addActionListener(this);jb3=newJButton("清除”);jb3.setFont(MyFont.f1);jb3.setBounds(190,100,80,25);jb3.addActionListener(this);this.setLayout(null);/把組件添加到窗體this.add(jl1);this.add(jtfl);this.ad

35、d(jl2);this.add(jtf2);this.add(jl3);this.add(jtf3);this.add(jb1);this.add(jb2);this.add(jb3);/因?yàn)橐薷男畔?,那么必須要獲得所選中的那一行的所有信息,把它們添加到文本框作為默認(rèn)值,因此構(gòu)造方法還應(yīng)添加一個(gè)參數(shù)即傳遞一個(gè)模型也,并傳遞所選中的行號(hào)rowpublicUpdateLogin(FrameMain,Stringtitle,PurViewModelpvm,introwNo,booleanmodel)/調(diào)用父類(lèi)的構(gòu)造方法,實(shí)現(xiàn)模式對(duì)話super(Main,title,model);/調(diào)用修改用戶權(quán)限

36、信息的界面的方法this.upView();/先從表模型中獲取所選中的那一行數(shù)據(jù)StringuserId=(String)pvm.getValueAt(rowNo,0);System.out.println("userId="+userId);Stringpassword=(String)pvm.getValueAt(rowNo,1);Stringposition=(String)pvm.getValueAt(rowNo,2);/設(shè)置廣本框的值jtf1.setText(userId);jtf3.setText(position);/設(shè)置窗體的屬性this.setSize(465,170);this.setVi

溫馨提示

  • 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)論