




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上 JAVA程序設(shè)計(jì) 課程設(shè)計(jì)報(bào)告 課 題: 學(xué)生信息管理系統(tǒng) 姓 名: 學(xué) 號: 同組姓名: 專業(yè)班級: 指導(dǎo)教師: 設(shè)計(jì)時間: 評閱意見: 評定成績: 指導(dǎo)老師簽名: 年 月 日 目 錄1、需要實(shí)現(xiàn)的功能32、設(shè)計(jì)目的31、功能模塊劃分32、數(shù)據(jù)庫結(jié)構(gòu)描述43、系統(tǒng)詳細(xì)設(shè)計(jì)文檔64、各個模塊的實(shí)現(xiàn)方法描述95、測試數(shù)據(jù)及期望結(jié)果11一、系統(tǒng)描述1、需求實(shí)現(xiàn)的功能1.1、錄入學(xué)生基本信息的功能學(xué)生基本信息主要包括:學(xué)
2、號、姓名、年齡、出生地、專業(yè)、班級總學(xué)分,在插入時,如果數(shù)據(jù)庫已經(jīng)存在該學(xué)號,則不能再插入該學(xué)號。1.2、修改學(xué)生基本信息的功能 在管理員模式下,只要在表格中選中某個學(xué)生,就可以對該學(xué)生信息進(jìn)行修改。1.3、查詢學(xué)生基本信息的功能可使用 “姓名”對已存有的學(xué)生資料進(jìn)行查詢。1.4、刪除學(xué)生基本信息的功能 在管理員模式下,只要選擇表格中的某個學(xué)生,就可以刪除該學(xué)生。1.5、用戶登陸用不同的登錄權(quán)限可以進(jìn)入不同的后臺界面,從而實(shí)現(xiàn)權(quán)限操作。1.6、用戶登陸信息設(shè)置可以修改用戶登陸密碼2、設(shè)計(jì)目的學(xué)生信息管理系統(tǒng)是一個教育單位不可缺少的部分。一個功能齊全、簡單易用的信息管理系統(tǒng)不但能有效地減輕學(xué)校相
3、關(guān)工作人員的工作負(fù)擔(dān),它的內(nèi)容對于學(xué)校的決策者和管理者來說都至關(guān)重要。所以學(xué)生信息管理系統(tǒng)應(yīng)該能夠?yàn)橛脩籼峁┏渥愕男畔⒑涂旖莸牟樵兪侄?。但一直以來人們使用傳統(tǒng)人工的方式管理文件檔案、統(tǒng)計(jì)和查詢數(shù)據(jù),這種管理方式存在著許多缺點(diǎn),如:效率低、保密性差、人工的大量浪費(fèi);另外時間一長,將產(chǎn)生大量的文件和數(shù)據(jù),這對于查找、更新和維護(hù)都帶來了不少困難。隨著科學(xué)技術(shù)的不斷提高,計(jì)算機(jī)科學(xué)日漸成熟,其強(qiáng)大的功能已為人們深刻認(rèn)識,它已進(jìn)入人類社會的各個領(lǐng)域并發(fā)揮著越來越重要的作用。作為計(jì)算機(jī)應(yīng)用的一部分,使用計(jì)算機(jī)對學(xué)校的各類信息進(jìn)行管理,具有手工管理無法比擬的優(yōu)點(diǎn)。例如:檢索迅速、查詢方便、效率高、可靠性好、
4、存儲量大、保密性好、壽命長、成本低等。這些優(yōu)點(diǎn)能夠極大地提高學(xué)校信息管理的效率,也是一個單位科學(xué)化、正規(guī)化管理,與世界接軌的重要條件。本系統(tǒng)是將現(xiàn)代化的計(jì)算機(jī)技術(shù)和傳統(tǒng)的教學(xué)、教務(wù)工作相結(jié)合,按照學(xué)院的工作流程設(shè)計(jì)完成的。通過一個簡化的學(xué)生信息管理系統(tǒng),使學(xué)生信息管理工作系統(tǒng)化、規(guī)范化、自動化,從而達(dá)到提高學(xué)生信息管理效率的目的。二、分析與設(shè)計(jì)1、功能模塊劃分學(xué)生信息管理系統(tǒng)瀏覽學(xué)生信息查詢學(xué)生信息添加學(xué)生信息修改學(xué)生信息刪除學(xué)生信息普通學(xué)生(用戶)模塊班委(管理員)模塊瀏覽學(xué)生信息查詢學(xué)生信息學(xué)生管理登陸管理修改登陸密碼顯示登陸用戶圖1 功能模塊劃分圖2、數(shù)據(jù)庫結(jié)構(gòu)描述2.1、數(shù)據(jù)庫E-R模
5、型 登錄用戶管理賬號密碼職位圖2 登錄用戶管理E-R圖學(xué) 生總學(xué)分出生地年齡專業(yè)性別姓名學(xué)號班級圖3 實(shí)體學(xué)生E-R圖2.2、數(shù)據(jù)庫關(guān)系模型二維表表1 學(xué)生表(student)字段數(shù)據(jù)類型說明stuIdnvarchar(30)學(xué)號stuNamenvarchar(30)姓名stuSexnvarchar(30)性別stuAgeint年齡stuJgnvarchar(30)籍貫stuZynvarchar(30)專業(yè)classIdnvarchar(30)班號stuSoursenumeric(5,2)總學(xué)分圖4 錄入數(shù)據(jù)后的學(xué)生表表2 登陸權(quán)限表(login)字段數(shù)據(jù)類型說明userIdnvarchar(
6、30)用戶名(賬號),即登陸Idpasswordnvarchar(30)登陸密碼positionnvarchar(30)職位,如班委,普通學(xué)生圖5 錄入數(shù)據(jù)后的登陸權(quán)限表3、系統(tǒng)詳細(xì)設(shè)計(jì)文檔3.1、系統(tǒng)執(zhí)行流程圖進(jìn)度條(閃屏)用戶登陸登陸驗(yàn)證falsetrue班委(管理員)界面普通學(xué)生界面查詢添加修改刪除查詢顯示班委(管理員 )普通學(xué)生(用戶)退出退出系統(tǒng)結(jié)束結(jié)束退出系統(tǒng)truefalsefalsetrue修改用戶登陸密碼顯示登陸用戶信息圖6 系統(tǒng)執(zhí)行流程圖3.2、類的劃分表3 學(xué)生信息查詢類類名類的成員屬性與方法說明StuQuery.javaJPanel jp1定義一個面板JLabel jp
7、1_jl1定義兩個標(biāo)簽JTextField jp1_jtf1定義一個文本輸入框JButton jp1_jb1,jp1_jb2,jp1_jb3定義三個按鈕JTable jtb定義一個表JScrollPane jsp定義一個滾動面板,用于存放表TableModel tm自定義一個表模型,用于更新表數(shù)據(jù)public StuQuery(Frame Main,String title ,boolean model)構(gòu)造方法,通過傳遞三個參數(shù),實(shí)現(xiàn)對話super(Main,title,model)調(diào)用父類的構(gòu)造方法,實(shí)現(xiàn)模式對話public void actionPerformed(ActionEvent
8、 arg0)事件響應(yīng)方法表4 修改學(xué)生信息類類名類的成員屬性與方法說明UpdateStu.javaJLabel jl1,jl2,jl3,jl4,jl5,jl6,jl7,jl8定義八個標(biāo)簽,用于設(shè)置數(shù)據(jù)庫表的字段名JTextField jtf1,jtf2,jtf3,jtf4,jtf5,jtf6,jtf7,jtf8定義八個文本框,用于接收表的各字段值JButton jb1,jb2,jb3定義三個按鈕,用于事件響應(yīng)public void addView()這是修改學(xué)生界面的函數(shù)封裝public AddStu(Frame Main,String title,boolean model)構(gòu)造方法,通過傳
9、遞三個參數(shù),實(shí)現(xiàn)對話super(Main,title,model)調(diào)用父類的構(gòu)造方法,實(shí)現(xiàn)模式對話public UpdateStu(Frame Main,String title,TableModel tm,int rowNo,boolean model)因?yàn)橐薷男畔?,那么必須要獲得所選中的那一行的所有信息,把它們添加到文本框作為默認(rèn)值,因此構(gòu)造方法還應(yīng)添加一個參數(shù)即傳遞一個模型tm,并傳遞所選中的行號rowpublic void actionPerformed(ActionEvent e)事件響應(yīng)方法表5 修改管理人員信息類類名類的成員屬性與方法說明UpdateLogin.javaJLab
10、el jl1,jl2,jl3定義三個標(biāo)簽,即用戶名,密碼,職位JTextField jtf1,jtf2,jtf3定義三個文本框,對應(yīng)三個標(biāo)簽的值JButton jb1,jb2,jb3定義三個按鈕,用于事件響應(yīng)JTable jtb定義一個表格,用于顯示登陸用戶信息PurViewModel pvm自定義登陸用戶信息的數(shù)據(jù)更新模型public void upView()這是修改賬戶信息權(quán)限的界面函數(shù)的封裝public UpdateLogin(Frame Main,String title,PurViewModel pvm,int rowNo,boolean model)因?yàn)橐薷男畔?,那么必須要獲得
11、所選中的那一行的所有信息,把它們添加到文本框作為默認(rèn)值,因此構(gòu)造方法還應(yīng)添加一個參數(shù)即傳遞一個模型tm,并傳遞所選中的行號rowsuper(Main,title,model)調(diào)用父類的構(gòu)造方法,實(shí)現(xiàn)模式對話public void actionPerformed(ActionEvent e)事件響應(yīng)方法表6表模式-更新數(shù)據(jù)類名類的成員屬性與方法說明TableModel.javaVector rowData,row,column定義表格所需要的集合(表,行,列)ResultSet rs定義一個記錄集,用于接收從數(shù)據(jù)庫返回來的記錄集SqlConn conn定義一個用于連接數(shù)據(jù)庫的對象,SqlConn
12、是連接數(shù)據(jù)庫的類public TableModel(String sql)構(gòu)造方法,并傳一個SQL語句,實(shí)現(xiàn)查詢操作public String getColumnName(int column)這是一個重寫的方法,用于設(shè)置表的列名public int getColumnCount()得到數(shù)據(jù)模型記錄集的列數(shù)public int getRowCount()得到數(shù)據(jù)模型記錄集的行數(shù)public Object getValueAt(int arg0, int arg1)得到數(shù)據(jù)模型記錄集某行某列的值4、各個模塊的實(shí)現(xiàn)方法描述 說明:此處只包含了個人完成的模塊的實(shí)現(xiàn)方法描述4.1、學(xué)生信息查詢學(xué)生信息
13、查詢窗口,采用了基于管理窗口,即主界面的對話框?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ù)庫,獲得選中的那一行的所有信息。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)
14、,實(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ù)這是一個表模型,用于數(shù)據(jù)更新,實(shí)現(xiàn)方法如下:1)定義表格所需要的集合。2)定義一個記錄集,用于接收從數(shù)據(jù)庫返回來的記錄集。3)定義一個用于連接數(shù)據(jù)庫的對象。4)設(shè)置表格的列名。5)創(chuàng)建表的記錄集。6)調(diào)用數(shù)據(jù)庫連接。7)設(shè)置表的列名,并得到表的列數(shù)和行數(shù)。8)得到某行某列的值。5、測試數(shù)據(jù)及期望結(jié)果5.1、學(xué)生信息查詢數(shù)據(jù)測試及期望結(jié)果數(shù)據(jù)測試及期望結(jié)果如下圖
15、:圖7為學(xué)生登錄后的最初界面;圖8為學(xué)生查看所有信息界面;圖9為全部學(xué)生的信息記錄(此處同時運(yùn)用到了TableModel類);圖10則是實(shí)現(xiàn)了此處的查詢功能,測試數(shù)據(jù)為: 姓名:肖立本 期望結(jié)果將顯示以下數(shù)據(jù):學(xué)號: 姓名:肖立本 性別:男 年齡:23 出生地:安徽 專業(yè):信息管理 班級: 總學(xué)分:542.5圖7 學(xué)生信息管理系統(tǒng)圖8 學(xué)生信息管理系統(tǒng)-顯示記錄圖9 學(xué)生信息管理系統(tǒng)-顯示所有信息圖10 學(xué)生信息管理系統(tǒng)-學(xué)生信息查詢5.2、修改管理人員數(shù)據(jù)測試及期望結(jié)果數(shù)據(jù)測試及期望結(jié)果如下圖:圖11將顯示出所有管理人員信息。此處測試的數(shù)據(jù)為: 賬號1:admin 密碼1:admin 職位1
16、:班委 賬號2:user 密碼2:user 職位2:普通學(xué)生圖12是彈出的修改密碼窗口。此處可將密碼admin修改為其它值。圖11 顯示所有管理人員信息圖12 修改管理人員信息窗口5.3、修改學(xué)生信息數(shù)據(jù)測試及期望結(jié)果數(shù)據(jù)測試及期望結(jié)果如下圖:圖13為全部學(xué)生的信息記錄(此處同時運(yùn)用到了TableModel類);圖14是彈出的修改學(xué)生信息窗口: 測試數(shù)據(jù):姓名:楊明輝 期望結(jié)果:可修改姓名、性別、年齡、出生地、專業(yè)、班級和總學(xué)分。圖13 學(xué)生信息管理系統(tǒng)-顯示所有信息圖14 修改學(xué)生信息窗口三、系統(tǒng)測試1、系統(tǒng)啟動界面圖15 系統(tǒng)啟動界面2、用戶登錄界面圖16 用戶登錄界面3、班委(管理員)界
17、面,即具有完全權(quán)限的用戶后臺界面圖17 管理員界面4、班委(管理員)界面子菜單項(xiàng)顯示圖18 管理員界面子菜單-系統(tǒng)界面圖19 管理員界面子菜單-學(xué)生管理界面圖20 管理員界面子菜單-系統(tǒng)設(shè)置界面5、學(xué)生信息查詢界面圖21 學(xué)生信息查詢6、學(xué)生信息查詢結(jié)果顯示圖22 學(xué)生信息查詢顯示7、添加學(xué)生信息界面在沒有輸入學(xué)號或者姓名,以及某一項(xiàng)時,會彈出一個對話框進(jìn)行提示,如沒有輸入學(xué)號時:圖23 添加學(xué)生信息8、修改學(xué)生信息界面(學(xué)號是主鍵,灰色顯示,即不可更改)圖24 修改學(xué)生信息9、顯示所有學(xué)生信息圖25 顯示所有信息10、當(dāng)沒有選中一行的時候,不能修改和刪除,并彈出提示警告框圖26 修改和刪除警
18、告框圖11、刪除文件時的確認(rèn)對話框(點(diǎn)擊確認(rèn)時會刪除,點(diǎn)擊取消,則返回主界面)圖27 刪除學(xué)生確認(rèn)對話框12、顯示所有登陸用戶信息圖28 顯示登錄用戶信息示意圖13、修改用戶登陸密碼,選中某個用戶進(jìn)行修改圖29 修改用戶登錄密碼界面示意圖14、關(guān)閉用戶記錄,即不顯示所有用戶信息圖30 關(guān)閉用戶記錄示意圖15、關(guān)閉學(xué)生記錄圖31 關(guān)閉學(xué)生記錄示意圖16、退出系統(tǒng)確認(rèn)對話框只有確認(rèn)時才會退出系統(tǒng),否則返加主界面圖32 退出系統(tǒng)17、普通學(xué)生登陸后的界面(即不能對學(xué)生信息進(jìn)行添加,修改和刪除以及用戶密碼修改,對應(yīng)的這幾項(xiàng)灰色顯示,不可點(diǎn)擊)圖33 學(xué)生登錄界面(1)圖34 學(xué)生登錄界面(2)四、心得
19、體會這次為期一周的課程設(shè)計(jì)讓我對java有了新的認(rèn)識,首先我接觸了很多上課見過但沒有實(shí)際用過的類和方法,讓我對編程有了許多新的思想。 大一學(xué)了C語言、C+等,雖然當(dāng)時學(xué)的還不錯,由于學(xué)的都是入門知識,所以自己做的程序只能實(shí)現(xiàn)一定的功能,和自己平時用的軟件相差很大。這學(xué)期剛開課學(xué)java,雖然知道這是一門很有用的語言,但是卻感覺沒什么新鮮感,它的跨平臺特性也只是聽聽,根本沒有認(rèn)識,由于平時學(xué)習(xí)不刻苦,也沒有時間靜下心來寫過java代碼,當(dāng)?shù)弥詈笃谀┳詈笠恢軐⑦M(jìn)行java課程設(shè)計(jì),才靜下心來開始研究java,結(jié)合以前的編程知識,做起了自己的程序。與此同時,我們也在進(jìn)行數(shù)據(jù)庫課程設(shè)計(jì),和
20、這個系統(tǒng)相類似,做起來比較熟練,同時想通過做課程設(shè)計(jì)將數(shù)據(jù)庫和java更好的結(jié)合運(yùn)用起來,感覺這樣才能夠更貼近實(shí)際應(yīng)用。 這次課程設(shè)計(jì)使我對java的跨平臺性有了進(jìn)一步認(rèn)識,同時加深了課堂上所學(xué)到的知識。雖然這是第三次課程設(shè)計(jì),并且自己也有了兩年的上機(jī)實(shí)驗(yàn),但我不得不說這一次課程設(shè)計(jì)是前兩次以及任何一節(jié)上機(jī)實(shí)驗(yàn)課都不可比的。在課程設(shè)計(jì)這一段時間,使我收獲了很多在上機(jī)課上無法學(xué)習(xí)到的知識,尤其是需求分析和eclipse熟練的使用。因?yàn)檫@一部分知識的不熟練,在程序設(shè)計(jì)過程中遇到了不少困難,但通過老師的指導(dǎo)和一次又一次的指導(dǎo)、改寫、調(diào)試,將這些困難都解決了,心中的喜悅感油然而生。為了能使程序更加的完
21、善,更加人性化,我也利用了不少的課余時間,查找了各方面的資料,看到一個小型系統(tǒng)能夠展示在電腦屏幕上時,感覺自己這段時間的付出是非常值得的,也使我對java產(chǎn)生了更濃厚的興趣,對自己的學(xué)習(xí)以及將來的工作都是有很大的幫助的。整個課程設(shè)計(jì)過程讓我的java知識得到了應(yīng)用,體驗(yàn)了程序員編程時的喜怒哀樂,知識、心智,得到全方位提升,收獲頗豐。 五、參考文獻(xiàn)著作文獻(xiàn):1 趙海廷.Java語言程序設(shè)計(jì)教程.北京:清華大學(xué)出版社.20122 孫印杰,劉斌,孫玉強(qiáng).Java編程案例精解.北京:電子工業(yè)出版社.20053 何梅.java編程實(shí)例系列叢書.北京:清華大學(xué)出版社,20024 楊昭.二級Java語言程序
22、設(shè)計(jì)教程.北京:中國水利水電出版社,20065 趙文靖.Java程序設(shè)計(jì)基礎(chǔ)與上機(jī)指導(dǎo).北京:清華大學(xué)出版社,2006 六、附錄1、功能:這是學(xué)生信息查詢窗口,采用基于管理窗口,即主界面的對話框?qū)崿F(xiàn)package com.View;import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.*;import com.Tools.MyFont;public class StuQuery extends JDialog implements A
23、ctionListener /定義查詢所需要的面板和組件JPanel jp1;JLabel jp1_jl1;JTextField jp1_jtf1;JButton jp1_jb1,jp1_jb2,jp1_jb3;JTable jtb;JScrollPane jsp;TableModel tm;public StuQuery(Frame Main,String title ,boolean model)/調(diào)用父類的構(gòu)造方法,實(shí)現(xiàn)模式對話super(Main,title,model);jp1=new JPanel();jp1_jl1=new JLabel("請輸入姓名:");j
24、p1_jl1.setFont(MyFont.f1);jp1_jtf1=new JTextField(15);jp1_jb1=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.s
25、etFont(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=new JTable();jsp=new JScrollPane(jtb);this.add(jp1,"North");this.add(jsp,"Center");this.setSize(600,400);this.setVisible(true); Overridepubl
26、ic void actionPerformed(ActionEvent arg0) / TODO Auto-generated method stub/如果點(diǎn)擊了查詢按鈕if(arg0.getSource()=jp1_jb1)/獲取文本框的值String stuName=jp1_jtf1.getText().trim();/其中trim()是去掉文本框前面可能有的空格,但不能去掉字符串中的空格String sql="select * from student where stuName='"+stuName+"'"/調(diào)用模型tm=new
27、TableModel(sql);jtb.setModel(tm);else if(arg0.getSource()=jp1_jb2)jp1_jtf1.setText("");else if(arg0.getSource()=jp1_jb3)tm=new TableModel(null);jtb.setModel(tm); 2、功能:這是一個表模型,用于更新數(shù)據(jù)package com.View;import com.SqlConnection.*;/引入數(shù)據(jù)庫連接的包import java.sql.*;import java.util.*;import javax.swing
28、.table.AbstractTableModel;import com.SqlConnection.SqlConn;public class TableModel extends AbstractTableModel /定義表格所需要的集合Vector rowData,row,column;/定義一個記錄集,用于接收從數(shù)據(jù)庫返回來的記錄集ResultSet rs;/定義一個用于連接數(shù)據(jù)庫的對象SqlConn conn;public TableModel(String sql)if(sql=null)sql="select * from student"/設(shè)置表格的列名co
29、lumn=new Vector();column.add("學(xué)號");column.add("姓名");column.add("性別");column.add("年齡");column.add("出生地");column.add("專業(yè)");column.add("班級");column.add("總學(xué)分");/創(chuàng)建表的記錄集rowData=new Vector();/調(diào)用數(shù)據(jù)庫連接conn=new SqlConn(); rs=conn
30、.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(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 (Exception e) e.printStackTrace()
31、;/ TODO: handle exception Override/設(shè)置表的列名public String getColumnName(int column) / TODO Auto-generated method stubreturn (String)this.column.get(column); Override/得到的列數(shù)public int getColumnCount() / TODO Auto-generated method stubreturn this.column.size();/得到的行數(shù)Overridepublic int getRowCount() / TODO
32、 Auto-generated method stubreturn this.rowData.size(); Override/得到某行某列的值public Object getValueAt(int arg0, int arg1) / TODO Auto-generated method stubreturn (Vector)this.rowData.get(arg0).get(arg1); 3、 功能:這是修改管理人員信息的界面,通過模式對話(即繼承JDialog對話框)來實(shí)現(xiàn) package com.View;import java.awt.*;import java.awt.event
33、.ActionEvent;import java.awt.event.ActionListener;import javax.swing.*;import com.SqlConnection.SqlConn;import com.Tools.MyFont;public class UpdateLogin extends JDialog implements ActionListener /定義修改學(xué)生信息的相關(guān)組件JLabel jl1,jl2,jl3;JTextField jtf1,jtf2,jtf3;JButton jb1,jb2,jb3;/這是修改賬戶信息權(quán)限的界面函數(shù)的封裝public
34、void upView()/加載數(shù)據(jù)庫,獲得選中的那一行的所有信息jl1=new JLabel("賬 號:");/因?yàn)橘~號是主鍵,設(shè)置文本框不可編輯的同時,一般也設(shè)置標(biāo)簽灰色顯示,以區(qū)別其他標(biāo)簽 jl1.setEnabled(false);jl1.setBounds(20, 20, 60, 25);jl1.setFont(MyFont.f1);jl2=new JLabel("密 碼:");jl2.setFont(MyFont.f1);jl2.setBounds(250, 20, 60, 25);jl3=new JLabel("職 位:"
35、;);jl3.setEnabled(false);jl3.setFont(MyFont.f1);jl3.setBounds(20, 60, 60, 25);jtf1=new JTextField(20);/由于賬號是主鍵,因此不能修改,即設(shè)置障礙曙jtf1不可編輯jtf1.setEnabled(false);jtf1.setBounds(70, 20, 130, 25);jtf2=new JTextField(20);jtf2.setBounds(300, 20, 130, 25);jtf3=new JTextField(20);jtf3.setEnabled(false);jtf3.setB
36、ounds(70, 60, 130, 25);jb1=new JButton("修 改");jb1.setFont(MyFont.f1);jb1.setBounds(100, 100, 80, 25);jb1.addActionListener(this);jb2=new JButton("取 消");jb2.setFont(MyFont.f1);jb2.setBounds(280, 100, 80, 25);jb2.addActionListener(this);jb3=new JButton("清 除");jb3.setFont(
37、MyFont.f1);jb3.setBounds(190,100,80,25);jb3.addActionListener(this);this.setLayout(null);/把組件添加到窗體this.add(jl1);this.add(jtf1);this.add(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)添加一個參數(shù)即傳遞一個模型tm,并傳遞所選
38、中的行號rowpublic UpdateLogin(Frame Main,String title,PurViewModel pvm,int rowNo,boolean model)/調(diào)用父類的構(gòu)造方法,實(shí)現(xiàn)模式對話super(Main,title,model);/調(diào)用修改用戶權(quán)限信息的界面的方法this.upView();/先從表模型中獲取所選中的那一行數(shù)據(jù)String userId=(String)pvm.getValueAt(rowNo, 0);System.out.println("userId="+userId);String password=(String)p
39、vm.getValueAt(rowNo, 1);String position=(String)pvm.getValueAt(rowNo, 2);/設(shè)置廣本框的值jtf1.setText(userId);jtf2.setText(password);jtf3.setText(position);/設(shè)置窗體的屬性this.setSize(465,170);this.setVisible(true);this.setResizable(false);Overridepublic void actionPerformed(ActionEvent e) / TODO Auto-generated me
40、thod stub/當(dāng)點(diǎn)擊了修改按鈕if(e.getSource()=jb1)/獲取文本框的信息String userId=jtf1.getText().trim();String password=jtf2.getText().trim();String position=jtf3.getText().trim();/調(diào)用數(shù)據(jù)庫連接/設(shè)置操縱更新的sql語句String sql="update login set password='"+password+"',position='"+position+"'wh
41、ere userId='"+userId+"'"SqlConn sqlconn=new SqlConn();sqlconn.sqlUpdate(sql);/關(guān)閉交資源sqlconn.closeSqlConn();/關(guān)閉與數(shù)據(jù)庫連接的資源后,再關(guān)閉對話框,否則數(shù)據(jù)不能自動在表中更新顯示出來this.dispose();/如果點(diǎn)擊了取消按鈕,則關(guān)閉模式對話框else if(e.getSource()=jb2)this.dispose();/如果點(diǎn)擊了清除按鈕,則清除所有的廣本框的內(nèi)容,除了學(xué)號else if(e.getSource()=jb3)/由于賬
42、號是主鍵,則不能清空!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.MyFont;public class UpdateStu extends JDia
43、log implements ActionListener /定義修改學(xué)生信息的相關(guān)組件JLabel jl1,jl2,jl3,jl4,jl5,jl6,jl7,jl8;JTextField jtf1,jtf2,jtf3,jtf4,jtf5,jtf6,jtf7,jtf8;JButton jb1,jb2,jb3;int stuAge=0;Double stuSourse=0.0;/這是修改學(xué)生信息的界面函數(shù)的封裝public void upView()/加載數(shù)據(jù)庫,獲得選中的那一行的所有信息jl1=new JLabel("學(xué) 號:");/因?yàn)閷W(xué)號是主鍵,設(shè)置文本框不可編輯的同時,
44、一般也設(shè)置標(biāo)簽灰色顯示,以區(qū)別其他標(biāo)簽 jl1.setEnabled(false);jl1.setBounds(20, 20, 60, 25);jl1.setFont(MyFont.f1);jl2=new JLabel("姓 名:");jl2.setFont(MyFont.f1);jl2.setBounds(250, 20, 60, 25);jl3=new JLabel("性 別:");jl3.setFont(MyFont.f1);jl3.setBounds(20, 60, 60, 25);jl4=new JLabel("年 齡:")
45、;jl4.setFont(MyFont.f1);jl4.setBounds(250, 60, 60, 25);jl5=new JLabel("出生地:");jl5.setFont(MyFont.f1);jl5.setBounds(14, 100, 60, 25);jl6=new JLabel("專 業(yè):");jl6.setFont(MyFont.f1);jl6.setBounds(20, 140, 60, 25);jl7=new JLabel("班 級:");jl7.setFont(MyFont.f1);jl7.setBounds(2
46、0, 180, 60, 25);jl8=new JLabel("總學(xué)分:");jl8.setFont(MyFont.f1);jl8.setBounds(240, 180, 60, 25);jtf1=new JTextField(20);/由于學(xué)號是主鍵,因此不能修改,即設(shè)置障礙曙jtf1不可編輯jtf1.setEnabled(false);jtf1.setBounds(70, 20, 130, 25);jtf1.setBorder(BorderFactory.createLoweredBevelBorder();jtf2=new JTextField(20);jtf2.se
47、tBounds(300, 20, 130, 25);jtf2.setBorder(BorderFactory.createLoweredBevelBorder();jtf3=new JTextField(10);jtf3.setBounds(70, 60, 60, 25);jtf3.setBorder(BorderFactory.createLoweredBevelBorder();jtf4=new JTextField(10);jtf4.setBounds(300, 60, 60, 25);jtf4.setBorder(BorderFactory.createLoweredBevelBord
48、er();jtf5=new JTextField(30);jtf5.setBounds(70, 100, 360, 25);jtf5.setBorder(BorderFactory.createLoweredBevelBorder();jtf6=new JTextField(20);jtf6.setBounds(70, 140, 290, 25);jtf6.setBorder(BorderFactory.createLoweredBevelBorder();jtf7=new JTextField(20);jtf7.setBounds(70, 180, 130, 25);jtf7.setBord
49、er(BorderFactory.createLoweredBevelBorder();jtf8=new JTextField(20);jtf8.setBounds(300, 180, 130, 25);jtf8.setBorder(BorderFactory.createLoweredBevelBorder();jb1=new JButton("修 改");jb1.setFont(MyFont.f1);jb1.setBounds(100, 220, 80, 25);jb1.addActionListener(this);jb2=new JButton("取 消&
50、quot;);jb2.setFont(MyFont.f1);jb2.setBounds(280, 220, 80, 25);jb2.addActionListener(this);jb3=new JButton("清 除");jb3.setFont(MyFont.f1);jb3.setBounds(190,220,80,25);jb3.addActionListener(this);this.setLayout(null);/把組件添加到窗體this.add(jl1);this.add(jtf1);this.add(jl2);this.add(jtf2);this.add(
51、jl3);this.add(jtf3);this.add(jl4);this.add(jtf4);this.add(jl5);this.add(jtf5);this.add(jl6);this.add(jtf6);this.add(jl7);this.add(jtf7);this.add(jl8);this.add(jtf8);this.add(jb1);this.add(jb2);this.add(jb3);/因?yàn)橐薷男畔?,那么必須要獲得所選中的那一行的所有信息,把它們添加到文本框作為默認(rèn)值,因此構(gòu)造方法還應(yīng)添加一個參數(shù)即傳遞一個模型tm,并傳遞所選中的行號rowpublic UpdateStu(Frame Main,String title,T
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 公司清真食品管理制度
- 2025代理進(jìn)口貨物運(yùn)輸合同
- 河南省信陽市浉河區(qū)2024~2025學(xué)年 高二下冊4月月考數(shù)學(xué)試卷附解析
- 河北省邢臺市寧晉縣2024~2025學(xué)年 高二下冊第一次月考數(shù)學(xué)試卷附解析
- 廣東省廣州市2024~2025學(xué)年 高一下冊期中考試數(shù)學(xué)試卷
- 教科版8年級上冊物理全冊教學(xué)課件
- 農(nóng)村地區(qū)水資源高效利用技術(shù)研究-洞察闡釋
- 2024年富順縣招聘社區(qū)專職工作人員真題
- 工裝招標(biāo)可行性研究報(bào)告
- 社區(qū)社區(qū)服務(wù)設(shè)施可持續(xù)發(fā)展管理基礎(chǔ)知識點(diǎn)歸納
- 精裝分包勞務(wù)合同協(xié)議書
- T/CNESA 1203-2021壓縮空氣儲能系統(tǒng)性能測試規(guī)范
- 2025年四年級下冊美術(shù)期末測試題附答案
- 店面借給別人合同協(xié)議書
- 圖像編輯基礎(chǔ)Photoshop試題及答案
- 宣城汽車精密零部件項(xiàng)目商業(yè)計(jì)劃書
- 2025至2030中國天文館行業(yè)投資前景研究與銷售戰(zhàn)略研究報(bào)告
- 2021入河(海)排污口三級排查技術(shù)指南
- 行為:2024年全球影視報(bào)告-YouGov
- 2025年中考第一次模擬考試卷:地理(陜西卷)(解析版)
- 手機(jī)使用課件
評論
0/150
提交評論