學(xué)生信息管理系統(tǒng)java課程設(shè)計(jì)(含源代碼)_第1頁
學(xué)生信息管理系統(tǒng)java課程設(shè)計(jì)(含源代碼)_第2頁
學(xué)生信息管理系統(tǒng)java課程設(shè)計(jì)(含源代碼)_第3頁
學(xué)生信息管理系統(tǒng)java課程設(shè)計(jì)(含源代碼)_第4頁
學(xué)生信息管理系統(tǒng)java課程設(shè)計(jì)(含源代碼)_第5頁
已閱讀5頁,還剩44頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、JAVA程序設(shè)計(jì)課程設(shè)計(jì)報(bào)告課 題:學(xué)生信息管理系統(tǒng)姓 名:學(xué) 號(hào):同組姓名:專業(yè)班級:指導(dǎo)教師:設(shè)計(jì)時(shí)間:評閱意見:評定成績:指目錄一、系統(tǒng)描述 21、需要實(shí)現(xiàn)的功能 32、設(shè)計(jì)目的 3二、分析與設(shè)計(jì) 31、功能模塊劃分 32、數(shù)據(jù)庫結(jié)構(gòu)描述 43、系統(tǒng)詳細(xì)設(shè)計(jì)文檔 64、各個(gè)模塊的實(shí)現(xiàn)方法描述 95、測試數(shù)據(jù)及期望結(jié)果 11三、系統(tǒng)測試 16四、心得體會(huì) 23五、參考文獻(xiàn) 24六、附錄 24- 1 -一、系統(tǒng)描述1、需求實(shí)現(xiàn)的功能1.1、錄入學(xué)生基本信息的功能學(xué)生基本信息主要包括:學(xué)號(hào)、姓名、年齡、出生地、專業(yè)、班級總學(xué)分, 在插入時(shí),如果數(shù)據(jù)庫已經(jīng)存在該學(xué)號(hào),則不能再插入該學(xué)號(hào)。1.2

2、、修改學(xué)生基本信息的功能在管理員模式下,只要在表格中選中某個(gè)學(xué)生,就可以對該學(xué)生信息進(jìn)行 修改。1.3 、查詢學(xué)生基本信息的功能可使用 “姓名 ”對已存有的學(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è)功能齊全、 簡單易 用的信息管理系統(tǒng)不但能有效地減輕學(xué)校相關(guān)工作人員的工作負(fù)擔(dān), 它的內(nèi)容對 于學(xué)校的決策者和管理者來說都至關(guān)重要。 所以學(xué)生信息管理系

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

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

5、模型一一二維表表1學(xué)生表(student )字段數(shù)據(jù)類型說明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)勢管I里080303D4552.00909024M金葉珍25北京會(huì)計(jì)D302D4D4509 50100902423女15陜西電子技術(shù)09020404561.00110903217林衛(wèi)

7、婕女上?;瘜W(xué)0903D4D2572 50120903223第曉嘯2D江西廣告設(shè)計(jì)0903D4D2513.50130904325肖立本男23信息管悝09040303542 50圖4錄入數(shù)據(jù)后的學(xué)生表表2登陸權(quán)限表(login )字段數(shù)據(jù)類型說明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é)生信息查詢類類名類的成員屬性與方法說明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)造方法,通過傳遞三個(gè)

9、參 數(shù),實(shí)現(xiàn)對話super(Ma in ,title,model)調(diào)用父類的構(gòu)造方法,實(shí)現(xiàn) 模式對話publicvoidactio nPerformed(Actio nEve nt argO)事件響應(yīng)方法表4修改學(xué)生信息類類名類的成員屬性與方法說明UpdateStu.javaJLabel jl1,jl2,jl3,jl4,jl5,jl6,jl7,jl8定義八個(gè)標(biāo)簽,用于設(shè)置數(shù)據(jù)庫表的字段名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)造方法,通過傳遞三 個(gè)參數(shù),實(shí)現(xiàn)對話super(Ma in ,title,model)調(diào)用父類的構(gòu)造方法, 實(shí)現(xiàn)模式對話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修改管理人員信息類類名類的成員屬性與方法說明UpdateLogi n.javaJLabel jl1,jl2,jl3定義三個(gè)標(biāo)簽,即用戶名, 密碼,職位JTextField jtf1,jtf2,jtf3定義三個(gè)文本框,對應(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) 模式對話publicvoidactio nPeformed(Actio nEve nt e)事件響應(yīng)方法表6表模式-更新數(shù)據(jù)類名類的成員屬性與方法說明TableModel

13、.javaVector rowData,row,colu mn定義表格所需要的集合(表, 行,列)ResultSet rs定義一個(gè)記錄集,用于接收從 數(shù)據(jù)庫返回來的記錄集SqlC onn conn定義一個(gè)用于連接數(shù)據(jù)庫的對 象, SqlConn是連接數(shù)據(jù)庫的類public TableModel(Stri ng構(gòu)造方法,并傳一個(gè)SQL語句,- 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)方法描述說明:此處只包含了個(gè)人完成的模塊的實(shí)現(xiàn)方法描述4.1、學(xué)生信息查詢學(xué)生信息查詢窗口,采用了基于管理窗口,即主界面的對話框?qū)崿F(xiàn),實(shí)現(xiàn)方 法如下:1)定義查詢所需要的面板和組件。2)調(diào)用父類的構(gòu)造方法,實(shí)現(xiàn)模式對話。3)進(jìn)行學(xué)生信息查詢。4.2、修改管理人員信息修改管理人員信息的界面,通過模式對話,即繼承JDialog對話框來實(shí)現(xiàn)的, 實(shí)現(xiàn)方法如下:1)定義修改學(xué)生信息的相關(guān)組件。2)加載數(shù)據(jù)庫,獲得選中的那一行

15、的所有信息。3)把組件添加到窗體。4)調(diào)用父類的構(gòu)造方法,實(shí)現(xiàn)模式對話。5)調(diào)用修改用戶權(quán)限信息的界面的方法。6)修改管理人員信息。7)調(diào)用數(shù)據(jù)庫連接,并設(shè)置操縱更新的 sql語句。4.3 、修改學(xué)生信息 修改學(xué)生信息的界面, 通過模式對話, 即繼承 JDialog 對話框來實(shí)現(xiàn), 實(shí)現(xiàn) 方法如下:1)定義修改學(xué)生信息的相關(guān)組件。2)加載數(shù)據(jù)庫,獲得選中的那一行的所有信息。3)把組件添加到窗體。4)調(diào)用父類的構(gòu)造方法,實(shí)現(xiàn)模式對話。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ù)庫返回來的記錄集。3)定義一個(gè)用于連接數(shù)據(jù)庫的對象。4)設(shè)置表格的列名。5)創(chuàng)建表的記錄集。6)調(diào)用數(shù)據(jù)庫連接。7)設(shè)置表的列名,并得到表的列數(shù)和行數(shù)。8)得到某行某列的值。- 11 -5、測試數(shù)據(jù)及期望結(jié)果5.1、學(xué)生信息查詢數(shù)據(jù)測試及期望結(jié)果數(shù)據(jù)測試及期望結(jié)果如下圖:圖7為學(xué)生登錄后的最初界面;圖8為學(xué)生查看所有信息界面;圖9為全部學(xué)生的信息記錄(此處同時(shí)運(yùn)用到了TableModeI類);圖10則是實(shí)現(xiàn)了此處的查詢功能,測試數(shù)據(jù)為:姓名:肖立本期望結(jié)果將顯示以下數(shù)據(jù):學(xué)號(hào):904325 姓名:肖立本 性別:男 年齡:23出生地:安徽專業(yè):信息管理 班級:904

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

18、423女両檢西電子技術(shù)9020404fefil.O903217林衛(wèi)捷19上海化學(xué)9030402895.2390322320江西廣告設(shè)計(jì)9030402513.5904325斉立本23住息凹9040303542590432511勇23SSD四點(diǎn)多1122123.090414女19長洩f=W12101&00.0圖9學(xué)生信息管理系統(tǒng)-顯示所有信息圖10學(xué)生信息管理系統(tǒng)-學(xué)生信息查詢5.2、修改管理人員數(shù)據(jù)測試及期望結(jié)果數(shù)據(jù)測試及期望結(jié)果如下圖:圖11將顯示出所有管理人員信息。此處測試的數(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ù)測試及期望結(jié)果數(shù)據(jù)測試及期望結(jié)果如下圖:圖13為全部學(xué)生的信息記錄(此處同時(shí)運(yùn)用到了TableModel類);圖14是彈出的修改學(xué)生信息窗口:測試數(shù)據(jù):姓名:楊明輝期望結(jié)果:可修改姓名、性別、年齡、出生地、專業(yè)、班級和總學(xué)分圖13學(xué)生信息管理系統(tǒng)-顯示所有信息圖14修改學(xué)生信息窗口- 17 -三、系統(tǒng)測試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è)對話框進(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è)贓級總學(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上?;瘜W(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è) 軟件工程班級70203021920

23、23上海&安徽圖26修改和刪除警告框圖信息管理90304029030402904030311、刪除文件時(shí)的確認(rèn)對話框(點(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è) 軟件工程 物理班級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)對話框-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)對話框只有確認(rèn)時(shí)

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

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

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

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

29、理窗口,即 主界面的對話框?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)模式對話super (Main,title,model);jp1 =new JPanel();jp1_jl1 =new JLabel( 請輸入姓名: );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ù)庫連接的包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ù)庫返回來的記錄集ResultSet rs ;/定義一個(gè)用于連接數(shù)據(jù)庫的對象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(班級”上 column .add(總學(xué)分上/創(chuàng)建表的記錄集rowData =new Vector();/調(diào)用數(shù)據(jù)庫連接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、功能:這是修改管理人員信息的界面,通過模式對話(即繼承JDialog對話框)來實(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ù)庫,獲得選中的那一行的所有信息 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)模式對話 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ù)庫連接/設(shè)置操縱更新的sql語句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ù)庫連接的資源后,再關(guān)閉對話框,否則數(shù)據(jù)不能自動(dòng)在表中更 新顯示出來this .

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

評論

0/150

提交評論