學(xué)生信息管理系統(tǒng)java課程設(shè)計(jì)(含源代碼)_第1頁(yè)
學(xué)生信息管理系統(tǒng)java課程設(shè)計(jì)(含源代碼)_第2頁(yè)
學(xué)生信息管理系統(tǒng)java課程設(shè)計(jì)(含源代碼)_第3頁(yè)
學(xué)生信息管理系統(tǒng)java課程設(shè)計(jì)(含源代碼)_第4頁(yè)
學(xué)生信息管理系統(tǒng)java課程設(shè)計(jì)(含源代碼)_第5頁(yè)
已閱讀5頁(yè),還剩44頁(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ì)報(bào)告課 題:學(xué)生信息管理系統(tǒng)姓 名:學(xué) 號(hào):同組姓名:專業(yè)班級(jí):指導(dǎo)教師:設(shè)計(jì)時(shí)間:評(píng)閱意見:評(píng)定成績(jī):指目錄一、系統(tǒng)描述 21、需要實(shí)現(xiàn)的功能 32、設(shè)計(jì)目的 3二、分析與設(shè)計(jì) 31、功能模塊劃分 32、數(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)測(cè)試 16四、心得體會(huì) 23五、參考文獻(xiàn) 24六、附錄 24- 1 -一、系統(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

2、、修改學(xué)生基本信息的功能在管理員模式下,只要在表格中選中某個(gè)學(xué)生,就可以對(duì)該學(xué)生信息進(jìn)行 修改。1.3 、查詢學(xué)生基本信息的功能可使用 “姓名 ”對(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é)生信息管理系

3、統(tǒng)應(yīng)該能夠?yàn)橛?戶提供充足的信息和快捷的查詢手段。 但一直以來(lái)人們使用傳統(tǒng)人工的方式管理 文件檔案、統(tǒng)計(jì)和查詢數(shù)據(jù),這種管理方式存在著許多缺點(diǎn),如:效率低、保密 性差、人工的大量浪費(fèi); 另外時(shí)間一長(zhǎng), 將產(chǎn)生大量的文件和數(shù)據(jù), 這對(duì)于查找、 更新和維護(hù)都帶來(lái)了不少困難。 隨著科學(xué)技術(shù)的不斷提高, 計(jì)算機(jī)科學(xué)日漸成熟, - 2 -其強(qiáng)大的功能已為人們深刻認(rèn)識(shí),它已進(jìn)入人類社會(huì)的各個(gè)領(lǐng)域并發(fā)揮著越來(lái)越 重要的作用。作為計(jì)算機(jī)應(yīng)用的一部分,使用計(jì)算機(jī)對(duì)學(xué)校的各類信息進(jìn)行管理, 具有手 工管理無(wú)法比擬的優(yōu)點(diǎn)。例如:檢索迅速、查詢方便、效率高、可靠性好、存儲(chǔ) 量大、保密性好、壽命長(zhǎng)、成本低等。這些優(yōu)點(diǎn)能

4、夠極大地提高學(xué)校信息管理的 效率,也是一個(gè)單位科學(xué)化、正規(guī)化管理,與世界接軌的重要條件。本系統(tǒng)是將現(xiàn)代化的計(jì)算機(jī)技術(shù)和傳統(tǒng)的教學(xué)、教務(wù)工作相結(jié)合,按照學(xué)院 的工作流程設(shè)計(jì)完成的。通過(guò)一個(gè)簡(jiǎn)化的學(xué)生信息管理系統(tǒng), 使學(xué)生信息管理工 作系統(tǒng)化、規(guī)范化、自動(dòng)化,從而達(dá)到提高學(xué)生信息管理效率的目的。二、分析與設(shè)計(jì)1、功能模塊劃分圖1功能模塊劃分圖- 3 -2、數(shù)據(jù)庫(kù)結(jié)構(gòu)描述2.1、數(shù)據(jù)庫(kù)E-R模型- 4 - # -登錄用戶管理- # - # -密碼職位- # - # -圖2登錄用戶管理E-R圖- # - # -學(xué)號(hào)姓名總學(xué)分班級(jí)性別專業(yè)年齡出生地圖3實(shí)體學(xué)生E-R圖- # - # -2.2、數(shù)據(jù)庫(kù)關(guān)系

5、模型一一二維表表1學(xué)生表(student )字段數(shù)據(jù)類型說(shuō)明stuIdn varchar(30)學(xué)號(hào)stuNamen varchar(30)姓名stuSexn varchar(30)性別stuAgeint年齡stuJgn varchar(30)籍貫stuZyn varchar(30)專業(yè)classldn varchar(30)班號(hào)stuSoursenu meric(5,2)總學(xué)分stuidstuNarnestu SexstuAgestuJgstu石classldstu Source|i* iiikj 070231Bii iiiaji用明碟男25四川軟件工理07D203D251:9.502070

6、3125-_任烈華玄23廣東物理070301015075030704111劉文雨男22浙江建笊設(shè)計(jì)0704010151600408021052Q陵西自動(dòng)控制080201015fi2 5050802535黃新海21山西生物化學(xué)0802DM1543 5060301312曾會(huì)方男24貴洲址共管理08030203560,5070303341方拎珍女23河北土木工程0803020354250808034D4霍允萍女20云南財(cái)勢(shì)管I里080303D4552.00909024M金葉珍25北京會(huì)計(jì)D302D4D4509 50100902423女15陜西電子技術(shù)09020404561.00110903217林衛(wèi)

7、婕女上海化學(xué)0903D4D2572 50120903223第曉嘯2D江西廣告設(shè)計(jì)0903D4D2513.50130904325肖立本男23信息管悝09040303542 50圖4錄入數(shù)據(jù)后的學(xué)生表表2登陸權(quán)限表(login )字段數(shù)據(jù)類型說(shuō)明userIdn varchar(30)用戶名(賬號(hào)),即登陸Idpasswordn varchar(30)登陸密碼positi onn varchar(30)職位,如班委,普通學(xué)生useridpasswoidposition1: admini admin班委2useruser普通學(xué)生圖5錄入數(shù)據(jù)后的登陸權(quán)限表- 6 -3、系統(tǒng)詳細(xì)設(shè)計(jì)文檔3.1、系統(tǒng)執(zhí)行流

8、程圖圖6系統(tǒng)執(zhí)行流程圖- 7 -3.2、類的劃分表3學(xué)生信息查詢類類名類的成員屬性與方法說(shuō)明StuQuery.javaJPa nel jp1定義一個(gè)面板JLabel jp1l1定義兩個(gè)標(biāo)簽JTextField jp1 jtf1定義一個(gè)文本輸入框JButton jp1 j b1,jp1 jb2,jp1 jb3定義三個(gè)按鈕JTable jtb定義一個(gè)表JScrollPa ne jsp定義一個(gè)滾動(dòng)面板,用于存 放表TableModel tm自定義一個(gè)表模型,用于更 新表數(shù)據(jù)publicStuQuery(FrameMain,String title ,boolean model)構(gòu)造方法,通過(guò)傳遞三個(gè)

9、參 數(shù),實(shí)現(xiàn)對(duì)話super(Ma in ,title,model)調(diào)用父類的構(gòu)造方法,實(shí)現(xiàn) 模式對(duì)話publicvoidactio nPerformed(Actio nEve nt argO)事件響應(yīng)方法表4修改學(xué)生信息類類名類的成員屬性與方法說(shuō)明UpdateStu.javaJLabel jl1,jl2,jl3,jl4,jl5,jl6,jl7,jl8定義八個(gè)標(biāo)簽,用于設(shè)置數(shù)據(jù)庫(kù)表的字段名JTextFieldjtf1,jtf2,jtf3,jtf4,jtf5,jtf6,jtf7,jtf8定義八個(gè)文本框,用于 接收表的各字段值JButton jb1,jb2,jb3定義三個(gè)按鈕,用于事件響應(yīng)publi

10、c void addView()這是修改學(xué)生界面的函 數(shù)封裝public AddStu(Frame Main,String title,boolean model)構(gòu)造方法,通過(guò)傳遞三 個(gè)參數(shù),實(shí)現(xiàn)對(duì)話super(Ma in ,title,model)調(diào)用父類的構(gòu)造方法, 實(shí)現(xiàn)模式對(duì)話public UpdateStu(FrameMain,String title,TableModeltm,i ntrowNo,boolea n model)因?yàn)橐薷男畔ⅲ敲?必須要獲得所選中的那 一行的所有信息,把它 們添加到文本框作為默 認(rèn)值,因此構(gòu)造方法還應(yīng)添加一個(gè)參數(shù)即傳遞 一個(gè)模型tm,并傳遞所 選中

11、的行號(hào)rowpublicvoidactio nPeformed(Actio nEve nt e)事件響應(yīng)方法表5修改管理人員信息類類名類的成員屬性與方法說(shuō)明UpdateLogi n.javaJLabel jl1,jl2,jl3定義三個(gè)標(biāo)簽,即用戶名, 密碼,職位JTextField jtf1,jtf2,jtf3定義三個(gè)文本框,對(duì)應(yīng)三個(gè) 標(biāo)簽的值JButton jb1,jb2,jb3定義三個(gè)按鈕,用于事件響 應(yīng)JTable jtb定義一個(gè)表格,用于顯示登 陸用戶信息PurViewModel pvm自定義登陸用戶信息的數(shù)據(jù) 更新模型public void upView()這是修改賬戶信息權(quán)限的界

12、面函數(shù)的封裝publicUpdateLog in(F rameMain ,Stri ng title,PurViewModelpvm,i ntrowNo,boolea n model)因?yàn)橐薷男畔?,那么必?要獲得所選中的那一行的所 有信息,把它們添加到文本 框作為默認(rèn)值,因此構(gòu)造方 法還應(yīng)添加一個(gè)參數(shù)即傳遞 一個(gè)模型tm,并傳遞所選中 的行號(hào)rowsuper(Ma in ,title,model)調(diào)用父類的構(gòu)造方法,實(shí)現(xiàn) 模式對(duì)話publicvoidactio nPeformed(Actio nEve nt e)事件響應(yīng)方法表6表模式-更新數(shù)據(jù)類名類的成員屬性與方法說(shuō)明TableModel

13、.javaVector rowData,row,colu mn定義表格所需要的集合(表, 行,列)ResultSet rs定義一個(gè)記錄集,用于接收從 數(shù)據(jù)庫(kù)返回來(lái)的記錄集SqlC onn conn定義一個(gè)用于連接數(shù)據(jù)庫(kù)的對(duì) 象, SqlConn是連接數(shù)據(jù)庫(kù)的類public TableModel(Stri ng構(gòu)造方法,并傳一個(gè)SQL語(yǔ)句,- 9 -sql)實(shí)現(xiàn)查詢操作publicStringgetColu mnN ame(i nt colu mn)這是一個(gè)重寫的方法,用于設(shè) 置表的列名publicintgetColu mnCoun t()得到數(shù)據(jù)模型記錄集的列數(shù)public int getRo

14、wCo un t()得到數(shù)據(jù)模型記錄集的行數(shù)publicObjectgetValueAt(i nt argO, int arg1)得到數(shù)據(jù)模型記錄集某行某列 的值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)用父類的構(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ù),獲得選中的那一行

15、的所有信息。3)把組件添加到窗體。4)調(diào)用父類的構(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)用父類的構(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)

16、定義一個(gè)記錄集,用于接收從數(shù)據(jù)庫(kù)返回來(lái)的記錄集。3)定義一個(gè)用于連接數(shù)據(jù)庫(kù)的對(duì)象。4)設(shè)置表格的列名。5)創(chuàng)建表的記錄集。6)調(diào)用數(shù)據(jù)庫(kù)連接。7)設(shè)置表的列名,并得到表的列數(shù)和行數(shù)。8)得到某行某列的值。- 11 -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)用到了TableModeI類);圖10則是實(shí)現(xiàn)了此處的查詢功能,測(cè)試數(shù)據(jù)為:姓名:肖立本期望結(jié)果將顯示以下數(shù)據(jù):學(xué)號(hào):904325 姓名:肖立本 性別:男 年齡:23出生地:安徽專業(yè):信息管理 班級(jí):904

17、0303總學(xué)分:542.5圖7學(xué)生信息管理系統(tǒng)圖8學(xué)生信息管理系統(tǒng)-顯示記錄管連縈統(tǒng)普通字生系統(tǒng) 學(xué)生管理 系統(tǒng)設(shè)蚤孚號(hào)姪名性別年靜出生地班級(jí)總學(xué)分|702319楊日弭25四川軟件工程7020302519.5703125任烈華23廣東物理7030101507 5704111劉文雨22西実建說(shuō)設(shè)計(jì)7040101516.0802105女20北京自動(dòng)控制80201015625302535女21召西生物化學(xué)8020501543.5803341方拎珍23I河北土木工程8030203542.5803404女20I云南財(cái)勢(shì)管理8030304552.0902409隆葉珍女25西妥9020404509.5902

18、423女両檢西電子技術(shù)9020404fefil.O903217林衛(wèi)捷19上?;瘜W(xué)9030402895.2390322320江西廣告設(shè)計(jì)9030402513.5904325斉立本23住息凹9040303542590432511勇23SSD四點(diǎn)多1122123.090414女19長(zhǎng)洩f=W12101&00.0圖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é)生圖

19、12是彈出的修改密碼窗口。此處可將密碼admin修改為其它值圖11顯示所有管理人員信息圖12修改管理人員信息窗口5.3、修改學(xué)生信息數(shù)據(jù)測(cè)試及期望結(jié)果數(shù)據(jù)測(cè)試及期望結(jié)果如下圖:圖13為全部學(xué)生的信息記錄(此處同時(shí)運(yùn)用到了TableModel類);圖14是彈出的修改學(xué)生信息窗口:測(cè)試數(shù)據(jù):姓名:楊明輝期望結(jié)果:可修改姓名、性別、年齡、出生地、專業(yè)、班級(jí)和總學(xué)分圖13學(xué)生信息管理系統(tǒng)-顯示所有信息圖14修改學(xué)生信息窗口- 17 -三、系統(tǒng)測(cè)試1、系統(tǒng)啟動(dòng)界面圖15系統(tǒng)啟動(dòng)界面2、用戶登錄界面圖16用戶登錄界面- 19 -3、班委(管理員)界面,即具有完全權(quán)限的用戶后臺(tái)界面系統(tǒng)學(xué)生菅理系統(tǒng)慢蚤圖17

20、管理員界面4、班委(管理員)界面子菜單項(xiàng)顯示圖18管理員界面子菜單-系統(tǒng)界面曲 學(xué)生信亙首理至統(tǒng)骨理員I 口 系統(tǒng)學(xué)生管理系統(tǒng)設(shè)蚤J顯示記錄-3查詢記錄J刪除記錄1關(guān)閉記錄-圖19管理員界面子菜單-學(xué)生管理界面圖20管理員界面子菜單-系統(tǒng)設(shè)置界面- 21 -5、學(xué)生信息查詢界面圖21學(xué)生信息查詢6學(xué)生信息查詢結(jié)果顯示圖22學(xué)生信息查詢顯示7、添加學(xué)生信息界面在沒有輸入學(xué)號(hào)或者姓名,以及某一項(xiàng)時(shí),會(huì)彈出一個(gè)對(duì)話框進(jìn)行提示,如沒有輸入學(xué)號(hào)時(shí):8、修改學(xué)生信息界面(學(xué)號(hào)是主鍵,灰色顯示,即不可更改)圖24修改學(xué)生信息9、顯示所有學(xué)生信息廠曲學(xué)生信亙管理至統(tǒng)瓷理員U 回系統(tǒng) 學(xué)生菅理 系統(tǒng)設(shè)蚤學(xué)號(hào)姓名

21、性別年齡出生地專業(yè)贓級(jí)總學(xué)分702318暢明揮胃25四川軟件工程70203025195703125任烈華女23廣東物理70301015075704111劉文雨男22西安建筑設(shè)計(jì)7040101516.0802105易袁敏女20北京自動(dòng)控制80201015625802535黃新海21山西生物化學(xué)B0205015435803312曾會(huì)方男24公共管理8030203560.5803341方玲珍女23河北土木工程80302035425803404霍允萍玄20云南財(cái)箝管理8030304552.0902409金葉珍女25西安9020404509.5902423林慧敏女19陜西電子技朮902040456109

22、03217相Z婕玄19上海化學(xué)903040269523903223解曉哺20廣告設(shè)計(jì)9030402513.5904325肖立本胃23安鍛信息管理90403035425圖25顯示所有信息-23 -10、當(dāng)沒有選中一行的時(shí)候,不能修改和刪除,并彈出提示警告框.二 學(xué)生信亙著理系統(tǒng)昔理員系統(tǒng) 學(xué)生菅理 系統(tǒng)設(shè)貿(mào)學(xué)號(hào)702318 703125 704111姓名劉文雨802105802535 &03312番新海B03341方玲砂803404902409霍允萍金葉珍902423903217903223林慧墩解曉嘯性別 女里更g玄女25904325肖立未年齡出生地四川專業(yè) 軟件工程班級(jí)70203021920

23、23上海&安徽?qǐng)D26修改和刪除警告框圖信息管理90304029030402904030311、刪除文件時(shí)的確認(rèn)對(duì)話框(點(diǎn)擊確認(rèn)時(shí)會(huì)刪除,點(diǎn)擊取消,貝U返回主界面)凹學(xué)生信身著理玉辭“吉理員系統(tǒng) 學(xué)生菅理 系統(tǒng)設(shè)貿(mào)學(xué)號(hào) 702318 703125 704111劉文雨802105802535苗訓(xùn)海803312曾會(huì)方B03341803404方玲珍翟元莘文W立902409金葉珍性別年齡252322出生地 四川 廣東專業(yè) 軟件工程 物理班級(jí)702030270301017040101902423903217903223解曉喘904325肖立本.13423信息管湮030404029040303總學(xué)分5195

24、5075516.0562.5543560542555Z0509.55610 89523 iiTF5425總學(xué)分51955075516.0562.55415560.5542.55520509.5561069523513.5542.5圖27刪除學(xué)生確認(rèn)對(duì)話框-25 -12、顯示所有登陸用戶信息系統(tǒng) 學(xué)生管理 系統(tǒng)設(shè)蚤賬號(hào)密碼職位adminadrhin班委useruse ir普通學(xué)生圖28顯示登錄用戶信息示意圖13、修改用戶登陸密碼,選中某個(gè)用戶進(jìn)行修改圖29修改用戶登錄密碼界面示意圖14、關(guān)閉用戶記錄,即不顯示所有用戶信息圖30關(guān)閉用戶記錄示意圖15、關(guān)閉學(xué)生記錄16、退出系統(tǒng)確認(rèn)對(duì)話框只有確認(rèn)時(shí)

25、才會(huì)退出系統(tǒng),否則返加主界面圖32退出系統(tǒng)17、普通學(xué)生登陸后的界面(即不能對(duì)學(xué)生信息進(jìn)行添加, 修改和刪除以及用戶密碼修改,對(duì)應(yīng)的這幾項(xiàng)灰色顯示,不可點(diǎn)擊)圖33學(xué)生登錄界面(1)尸凹學(xué)生信邑管理垂統(tǒng)普通學(xué)生口問(wèn)系統(tǒng)學(xué)生管理系統(tǒng)設(shè)墨J顯示用戶f 修陽(yáng)宓匹i-、 l3kA lj N-JJ關(guān)謝用戶信息圖34學(xué)生登錄界面(2)-27 -四、心得體會(huì)這次為期一周的課程設(shè)計(jì)讓我對(duì) java 有了新的認(rèn)識(shí),首先我接觸了很多上 課見過(guò)但沒有實(shí)際用過(guò)的類和方法, 讓我對(duì)編程有了許多新的思想。 大一學(xué)了 C語(yǔ)言、C+等,雖然當(dāng)時(shí)學(xué)的還不錯(cuò),由于學(xué)的都是入門知識(shí),所以自己做的 程序只能實(shí)現(xiàn)一定的功能,和自己平時(shí)

26、用的軟件相差很大。這學(xué)期剛開課學(xué) java ,雖然知道這是一門很有用的語(yǔ)言, 但是卻感覺沒什么新鮮感, 它的跨平臺(tái) 特性也只是聽聽, 根本沒有認(rèn)識(shí), 由于平時(shí)學(xué)習(xí)不刻苦, 也沒有時(shí)間靜下心來(lái)寫 過(guò) java 代碼,當(dāng)?shù)弥詈笃谀┳詈笠恢軐⑦M(jìn)行 java 課程設(shè)計(jì), 才靜下心來(lái)開始 研究 java ,結(jié)合以前的編程知識(shí),做起了自己的程序。與此同時(shí),我們也在進(jìn) 行數(shù)據(jù)庫(kù)課程設(shè)計(jì),和這個(gè)系統(tǒng)相類似,做起來(lái)比較熟練,同時(shí)想通過(guò)做課程 設(shè)計(jì)將數(shù)據(jù)庫(kù)和 java 更好的結(jié)合運(yùn)用起來(lái),感覺這樣才能夠更貼近實(shí)際應(yīng)用。這次課程設(shè)計(jì)使我對(duì) java 的跨平臺(tái)性有了進(jìn)一步認(rèn)識(shí),同時(shí)加深了課堂上 所學(xué)到的知識(shí)。雖然這

27、是第三次課程設(shè)計(jì), 并且自己也有了兩年的上機(jī)實(shí)驗(yàn), 但 我不得不說(shuō)這一次課程設(shè)計(jì)是前兩次以及任何一節(jié)上機(jī)實(shí)驗(yàn)課都不可比的。 在課 程設(shè)計(jì)這一段時(shí)間, 使我收獲了很多在上機(jī)課上無(wú)法學(xué)習(xí)到的知識(shí), 尤其是需求 分析和 eclipse 熟練的使用。因?yàn)檫@一部分知識(shí)的不熟練, 在程序設(shè)計(jì)過(guò)程中遇 到了不少困難,但通過(guò)老師的指導(dǎo)和一次又一次的指導(dǎo)、改寫、調(diào)試,將這些困 難都解決了,心中的喜悅感油然而生。為了能使程序更加的完善, 更加人性化, 我也利用了不少的課余時(shí)間, 查找 了各方面的資料, 看到一個(gè)小型系統(tǒng)能夠展示在電腦屏幕上時(shí), 感覺自己這段時(shí) 間的付出是非常值得的,也使我對(duì) java 產(chǎn)生了更濃厚

28、的興趣,對(duì)自己的學(xué)習(xí)以 及將來(lái)的工作都是有很大的幫助的。整個(gè)課程設(shè)計(jì)過(guò)程讓我的 java 知識(shí)得到了應(yīng)用,體驗(yàn)了程序員編程時(shí)的喜 怒哀樂,知識(shí)、心智,得到全方位提升,收獲頗豐。五、參考文獻(xiàn)著作文獻(xiàn):1 趙海廷Java語(yǔ)言程序設(shè)計(jì)教程.北京:清華大學(xué)出版社.20122 孫印杰,劉斌,孫玉強(qiáng)Java編程案例精解.北京:電子工業(yè)出版社.20053 何梅.java編程實(shí)例系列叢書.北京:清華大學(xué)出版社,20024 楊昭.二級(jí)Java語(yǔ)言程序設(shè)計(jì)教程.北京:中國(guó)水利水電出版社,2006 趙文靖Java程序設(shè)計(jì)基礎(chǔ)與上機(jī)指導(dǎo).北京:清華大學(xué)出版社,2006六、附錄1、功能:這是學(xué)生信息查詢窗口,采用基于管

29、理窗口,即 主界面的對(duì)話框?qū)崿F(xiàn)package com.View;import java.awt.*;import java.awt.eve nt.Act ionEvent;import java.awt.eve nt.Act ion Liste ner;import javax.swi ng.*;import com.Tools.My Font;public class StuQueryexte nds JDialog impleme nts Acti on Liste ner/定義查詢所需要的面板和組件JPanel jp1 ;JLabel jp1_jl1 ;JTextField jp1_jt

30、f1 ;JButtonjp1 _jb1, jp1 _jb2 , jp1 _jb3 ;JTable jtb ;JScrollPane jsp ;TableModel tm;- 29 -boolean model)public StuQuery(Frame Main,String title ,/ 調(diào)用父類的構(gòu)造方法,實(shí)現(xiàn)模式對(duì)話super (Main,title,model);jp1 =new JPanel();jp1_jl1 =new JLabel( 請(qǐng)輸入姓名: );jp1_jl1.setFont(MyFont.f1 );jp1_jtf1=new JTextField(15);jp1_jb1

31、=new JButton( 查詢 - );jp1_jb1.setFont(MyFont.f1 );jp1_jb1.addActionListener(this )jp1_jb2=new JButton( 清除 );jp1_jb2.setFont(MyFont.f1 );jp1_jb2.addActionListener(this )jp1_jb3=new JButton( 顯示所有記錄jp1_jb3.setFont(MyFont.f1 );jp1_jb3.addActionListener(this )jp1 .add( jp1_jl1 ); jp1 .add( jp1_jtf1 );jp1

32、.add( jp1_jb1 );jp1 .add( jp1_jb2 );jp1 .add( jp1_jb3 );jtb =new JTable();jsp =new JScrollPane( jtb ); this .add( jp1 , North ); this .add( jsp , Center ); this .setSize(600,400);this .setVisible( true );Overridepublic void actionPerformed(ActionEvent arg0) / TODOAuto-generated method stub/ 如果點(diǎn)擊了查詢按

33、鈕if (arg0.getSource()= jp1_jb1 )/ 獲取文本框的值trim() 是去掉文+stuName+ String stuName= jp1_jtf1 .getText().trim(); / 其中本框前面可能有的空格,但不能去掉字符串中的空格String sql= select * from student where stuName=/ 調(diào)用模型tm=new TableModel(sql);jtb .setModel( tm);else if (arg0.getSource()= jp1_jb2 )jp1_jtf1 .setText( );else if (arg0.

34、getSource()= jp1_jb3 )tm=new TableModel( null );jtb .setModel( tm);- 31 -2、功能:這是一個(gè)表模型,用于更新數(shù)據(jù)package com.View;import com.SqlConnection.*;/ 引入數(shù)據(jù)庫(kù)連接的包import java.sql.*;import java.util.*;import javax.swi ng.table.AbstractTableModel;import com.SqlC onn ectio n.SqlC onn;public class TableModelexte nds Ab

35、stractTableModel /定義表格所需要的集合Vector rowData , row , column ;/定義一個(gè)記錄集,用于接收從數(shù)據(jù)庫(kù)返回來(lái)的記錄集ResultSet rs ;/定義一個(gè)用于連接數(shù)據(jù)庫(kù)的對(duì)象SqlConn conn ;public TableModel(String sql)if (sql= null )sql= select * from stude nt;/設(shè)置表格的列名colu mn =new Vector();column .add(學(xué)號(hào)上column .add(姓名上column .add(性另【J );column add(年齡column .ad

36、d(出生地”);column .add( ” 專業(yè)”); column .add(班級(jí)”上 column .add(總學(xué)分上/創(chuàng)建表的記錄集rowData =new Vector();/調(diào)用數(shù)據(jù)庫(kù)連接conn =new SqlC onn();rs =conn .sqlQuery(sql);try while (rs .next()row = new Vector();row.add( rs .getString(1);row.add(rs .getString(2);row.add(rs .getString(3);row.add(rs .getString);row.add(rs .getS

37、tring(5);row.add(rs .getString(6);row.add(rs .getString(7);row.add(rs .getString(8);rowData .add( row); catch (Exception e) e.pri ntStackTrace();/ TODO han dle exceptionOverride/設(shè)置表的列名public String getColu mnN ame(int colu mn) / TODOAuto-ge nerated method stubreturn(String)this . column .get(column)

38、;Override/得到的列數(shù)publicint getColumnCount() /TODOAuto-ge nerated method stubreturn this . column .size();/得到的行數(shù)Overridepublicint getRowCount() /TODOAuto-ge nerated method stubreturn this . rowData .size();Override/得到某行某列的值public Object getValueAt( int argO, int arg1) / TODOAuto-ge nerated method stubr

39、eturn (Vector) this . rowData .get(arg0).get(arg1);-34 -3、功能:這是修改管理人員信息的界面,通過(guò)模式對(duì)話(即繼承JDialog對(duì)話框)來(lái)實(shí)現(xiàn)package com.View;import java.awt.*;import java.awt.eve nt.Act ionEvent;import java.awt.eve nt.Act ion Liste ner;import javax.swi ng.*;import com.SqlC onn ectio n.SqlC onn;import com.Tools.My Font;publi

40、c class UpdateLoginexte nds JDialog impleme nts Action Liste ner /定義修改學(xué)生信息的相關(guān)組件JLabel jl1 , jl2 , jl3 ;JTextField jtf1 , jtf2 , jtf3 ;JButtonjb1 ,jb2 , jb3 ;/這是修改賬戶信息權(quán)限的界面函數(shù)的封裝public void upView()/加載數(shù)據(jù)庫(kù),獲得選中的那一行的所有信息 jl1 =new JLabel(賬 號(hào):”);/因?yàn)橘~號(hào)是主鍵,設(shè)置文本框不可編輯的同時(shí),一般也設(shè)置標(biāo)簽灰色顯示,以 區(qū)別其他標(biāo)簽jl1 .setE nabled(

41、false );jl1 .setBou nds(20, 20, 60, 25);jl1 .setFo nt(MyFo nt. f1 );jl2 =new JLabel(密 碼:”);jl2 .setFont(MyFont. f1 );jl3 =new JLabel( 職 位: ); jl3 .setEnabled( false );jl3 .setFont(MyFont. f1 );jl3 .setBounds(20, 60, 60, 25);jtf1 =new JTextField(20);jtf1 不可編輯/ 由于賬號(hào)是主鍵,因此不能修改,即設(shè)置障礙曙jtf1 .setEnabled( f

42、alse );jtf1 .setBounds(70, 20, 130, 25);jtf2 =new JTextField(20);jtf2 .setBounds(300, 20, 130, 25);jtf3 =new JTextField(20);jtf3 .setEnabled( false );jtf3 .setBounds(70, 60, 130, 25);jb1 =new JButton( 修 改 );jb1 .setFont(MyFont. f1 );jb1 .setBounds(100, 100, 80, 25);jb1 .addActionListener( this );jb2

43、 =new JButton( 取 消 );jb2 .setFont(MyFont. f1 );jb2 .setBounds(280, 100, 80, 25);jb2 .addActionListener( this );jb3 =new JButton( 清 除 );jb3 .setFont(MyFont. f1 );- 36 -jb3 .setBounds(190,100,80,25);jb3 .addActionListener(this );this .setLayout(null );this.add(jl1 );this.add(jtf1this.add(jl2 );this.ad

44、d(jtf2this.add(jl3 );this.add(jtf3this.add(jb1 );this.add(jb2 );this.add(jb3 );/把組件添加到窗體);););/因?yàn)橐薷男畔ⅲ敲幢仨氁@得所選中的那一行的所有信息,把它們添加到文本tm,并傳遞所選中的行號(hào)框作為默認(rèn)值,因此構(gòu)造方法還應(yīng)添加一個(gè)參數(shù)即傳遞一個(gè)模型row-37 -# -publicUpdateLogi n(F rameMai n,Stri ngtitle,PurViewModelpvm, i nt-# -# -rowNo, boolean model)/調(diào)用父類的構(gòu)造方法,實(shí)現(xiàn)模式對(duì)話 super (

45、Main,title,model);/調(diào)用修改用戶權(quán)限信息的界面的方法 this .upView();/先從表模型中獲取所選中的那一行數(shù)據(jù)Stri ng userld=(Stri ng)pvm.getValueAt(rowNo, 0);System. out .println(userld= +userld);String password=(String)pvm.getValueAt(rowNo, 1);String position=(String)pvm.getValueAt(rowNo, 2);/設(shè)置廣本框的值jtf1 .setText(userld);jtf2 .setText(pa

46、ssword);jtf3 .setText(positi on);/設(shè)置窗體的屬性this .setSize(465,170);this .setVisible( true );this .setResizable( false );Overridepublic void actionPerformed(ActionEvent e) / TODOAuto-ge nerated method stub/當(dāng)點(diǎn)擊了修改按鈕if (e.getSource()= jb1 )String userId=jtf1.getText().trim();String password=jtf2.getText()

47、.trim();String positi on=jtf3.getText().trim();/調(diào)用數(shù)據(jù)庫(kù)連接/設(shè)置操縱更新的sql語(yǔ)句Stri ngsql= update+password+ ,positi on=+positi on+/獲取文本框的信息passwordwhereloginsetuserId= +userld+ SqlC onn sqlc onn=new SqlC onn();sqlc onn. sqlUpdate(sql);/ 關(guān)閉交資源sqlconn.closeSqlConn();/ 關(guān)閉與數(shù)據(jù)庫(kù)連接的資源后,再關(guān)閉對(duì)話框,否則數(shù)據(jù)不能自動(dòng)在表中更 新顯示出來(lái)this .

48、dispose();/ 如果點(diǎn)擊了取消按鈕,則關(guān)閉模式對(duì)話框else if (e.getSource()= jb2 )this .dispose();/ 如果點(diǎn)擊了清除按鈕,則清除所有的廣本框的內(nèi)容,除了學(xué)號(hào)else if (e.getSource()= jb3 )/ 由于賬號(hào)是主鍵,則不能清空!jtf2 .setText( );4、功能:這是修改學(xué)生信息的界面,通過(guò)模式對(duì)話(即繼 承 JDialog 對(duì)話框)來(lái)實(shí)現(xiàn)package com.View;import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.*;import com.SqlConnection.SqlConn;import com.Tools.My Font;public class UpdateStu exte nds JDialogimpleme ntsAction Liste ner /定義修改學(xué)生信息的相關(guān)組件JLabel jl1 , jl2 , jl3 , jl4 , jl5 , jl6 ,jl7 , jl8 ;JTextFie

溫馨提示

  • 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論