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

下載本文檔

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

文檔簡(jiǎn)介

1、.課設(shè)名稱(chēng): 學(xué)生成績(jī)管理系統(tǒng) 院 (系): 姓名: 學(xué)號(hào): 年 級(jí): 專(zhuān)業(yè)班級(jí): 指導(dǎo)教師: 時(shí)間: 2012年6月 目錄第一部分 摘 要3第二部分 目的背景與意義4第三部分 需求分析4第四部分 系統(tǒng)設(shè)計(jì)44.1 結(jié)構(gòu)設(shè)計(jì)44.2 功能結(jié)構(gòu)圖54.3 功能流程以及工作流描述6第五部分 數(shù)據(jù)庫(kù)的設(shè)計(jì)65.1數(shù)據(jù)庫(kù)設(shè)計(jì)65.2數(shù)據(jù)表的設(shè)計(jì)7第六部分 詳細(xì)設(shè)計(jì)86.1 學(xué)生管理系統(tǒng)主界面模塊86.2 學(xué)生信息管理模塊96.3 課程信息管理模塊116.4 查詢(xún)模塊12圖6.5 數(shù)據(jù)庫(kù)操作模塊13第七部分 課程設(shè)計(jì)心得13第八部分 附錄(按名稱(chēng)排序)14第一部分 摘 要該項(xiàng)目開(kāi)發(fā)的軟件為學(xué)校學(xué)生信息管

2、理系統(tǒng)軟件,是鑒于目前學(xué)校學(xué)生人數(shù)劇增,學(xué)生信息呈爆炸性增長(zhǎng)的前提下,學(xué)校對(duì)學(xué)生信息管理的自動(dòng)化與準(zhǔn)確化的要求日益強(qiáng)烈的背景下構(gòu)思出來(lái)的,該軟件設(shè)計(jì)完成后可用于所有教育單位(包括學(xué)校,學(xué)院等等)的學(xué)生信息的管理. 目前社會(huì)上信息管理系統(tǒng)發(fā)展飛快,各個(gè)企事業(yè)單位都引入了信息管理軟件來(lái)管理自己日益增長(zhǎng)的各種信息,學(xué)生管理系統(tǒng)也是有了很大的發(fā)展,商業(yè)化的學(xué)生信息管理軟件也不少.但本系統(tǒng)完全獨(dú)立開(kāi)發(fā),力求使系統(tǒng)功能簡(jiǎn)潔明了,但功能齊全且易于操作學(xué)生信息管理系統(tǒng)是一個(gè)教育單位不可缺少的部分,它的內(nèi)容對(duì)于學(xué)校的決策者和管理者來(lái)說(shuō)都至關(guān)重要。本文介紹了學(xué)生信息管理系統(tǒng)的開(kāi)發(fā)整個(gè)過(guò)程,闡述了系統(tǒng)分析、系統(tǒng)設(shè)計(jì)

3、、數(shù)據(jù)庫(kù)設(shè)計(jì)和系統(tǒng)實(shí)施的全過(guò)程。在開(kāi)發(fā)方法上本系統(tǒng)利用了軟件工程化的思想和方法,總體上采用結(jié)構(gòu)化生命周期開(kāi)發(fā)方法,具體模塊實(shí)施采用了原型法和面向?qū)ο笙到y(tǒng)開(kāi)發(fā)方法。并采用JAVA作為開(kāi)發(fā)工具,mysql作為后臺(tái)數(shù)據(jù)庫(kù)。本系統(tǒng)具有學(xué)生管理、課程管理、成績(jī)管理、信息查詢(xún)等功能,分成四大模塊,每個(gè)模塊都相互聯(lián)系,但不相互干擾,這符合了軟件模塊開(kāi)發(fā)的思想。本系統(tǒng)完成了學(xué)生信息的增加、修改、刪除、查詢(xún)和選課,課程信息的增加、修改、刪除、查詢(xún),成績(jī)的添加、修改、查詢(xún)等功能?!娟P(guān)鍵字】:信息管理系統(tǒng)、模塊設(shè)計(jì)、軟件工程。第二部分 目的背景與意義 學(xué)生信息管理系統(tǒng)是一個(gè)教育單位不可缺少的部分。一個(gè)功能齊全、簡(jiǎn)單

4、易用的信息管理系統(tǒng)不但能有效地減輕學(xué)校相關(guān)工作人員的工作負(fù)擔(dān),它的內(nèi)容對(duì)于學(xué)校的決策者和管理者來(lái)說(shuō)都至關(guān)重要。所以學(xué)生信息管理系統(tǒng)應(yīng)該能夠?yàn)橛脩?hù)提供充足的信息和快捷的查詢(xún)手段。但一直以來(lái)人們使用傳統(tǒng)人工的方式管理文件檔案、統(tǒng)計(jì)和查詢(xún)數(shù)據(jù),這種管理方式存在著許多缺點(diǎn),如:效率低、保密性差,人工的大量浪費(fèi);另外時(shí)間一長(zhǎng),將產(chǎn)生大量的文件和數(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).例如

5、:檢索迅速、查詢(xún)方便、效率高、可靠性好、存儲(chǔ)量大、保密性好、壽命長(zhǎng)、成本低等。這些優(yōu)點(diǎn)能夠極大地提高學(xué)校信息管理的效率,也是一個(gè)單位科學(xué)化、正規(guī)化管理,與世界接軌的重要條件。第三部分 需求分析學(xué)生信息管理系統(tǒng)的功能總結(jié)起來(lái),共需要以下幾個(gè)方面:1. 學(xué)生信息管理管理所有學(xué)生的基本信息,包括增加、修改、刪除等,也可以根據(jù)各種條件查詢(xún)出需要的信息。2. 課程信息管理管理所有課程的基本信息,包括增加、修改、刪除等,也可以根據(jù)各種條件查詢(xún)出需要的信。3. 選課與成績(jī)管理根據(jù)學(xué)號(hào)進(jìn)行選課,登記課程的成績(jī),可以根據(jù)學(xué)號(hào)查詢(xún)出來(lái)選課信息與成績(jī)。第四部分 系統(tǒng)設(shè)計(jì)4.1 結(jié)構(gòu)設(shè)計(jì)根據(jù)對(duì)系統(tǒng)的需求分析,本系統(tǒng)將

6、分為4個(gè)模塊:l 學(xué)生管理:管理學(xué)生的基本信息,包括個(gè)人信息的添加、修改、刪除,以及選課信息的添加。l 課程管理:管理課程的基本信息,包括課程信息的添加、修改和刪除。l 成績(jī)管理:管理學(xué)生的選課的成績(jī)信息,包括成績(jī)的登記與修改。l 信息查詢(xún):查詢(xún)已經(jīng)登記的信息,包括學(xué)生的基本信息、課程的基本信息與成績(jī)信息。4.2 功能結(jié)構(gòu)圖系統(tǒng)的功能結(jié)構(gòu)如圖1所示。學(xué)生管理系統(tǒng)學(xué)生管理課程管理成績(jī)管理信息查詢(xún)?cè)黾有薷膭h除學(xué)生選課增加修改刪除增加修改學(xué)生查詢(xún)課程查詢(xún)成績(jī)查詢(xún)按學(xué)號(hào)查詢(xún)按姓名查詢(xún)按專(zhuān)業(yè)查詢(xún)按性別查詢(xún)按學(xué)院查詢(xún)按課程名稱(chēng)查詢(xún)按授課教師查詢(xún)查詢(xún)所有成績(jī)按學(xué)分績(jī)點(diǎn)查詢(xún)按單科成績(jī)查詢(xún)圖1 學(xué)生管理系統(tǒng)功能

7、結(jié)構(gòu)圖4.3 功能流程以及工作流描述1. 增加學(xué)生信息系統(tǒng)操作人員打開(kāi)學(xué)生信息添加界面,輸入相關(guān)的信息(姓名、性別、民族、籍貫、出生日期、入學(xué)年份、專(zhuān)業(yè)和學(xué)院等),在數(shù)據(jù)庫(kù)中添加相關(guān)數(shù)據(jù)。2. 修改學(xué)生信息根據(jù)學(xué)生的學(xué)號(hào)查詢(xún)出該學(xué)生的相關(guān)信息,修改相關(guān)條目后保存在數(shù)據(jù)庫(kù)中。3. 刪除學(xué)生信息根據(jù)學(xué)生的學(xué)號(hào)查詢(xún)出該學(xué)生的相關(guān)信息,確定刪除后,在數(shù)據(jù)庫(kù)中刪除該信息。4. 學(xué)生選課選擇學(xué)生學(xué)號(hào)與需要選擇的課程,確定無(wú)誤后保存,數(shù)據(jù)庫(kù)中將自動(dòng)添加新的選課記錄。5. 增加課程信息系統(tǒng)操作人員根據(jù)打開(kāi)的課程增加界面,輸入相關(guān)信息(課程名稱(chēng)、授課教師、課程學(xué)分、課程系數(shù)、上課地點(diǎn)等),在數(shù)據(jù)庫(kù)中添加相關(guān)的數(shù)

8、據(jù)。6. 修改課程信息根據(jù)課程號(hào)查詢(xún)出該課程的相關(guān)信息,修改條目后保存在數(shù)據(jù)庫(kù)中。7. 刪除課程信息根據(jù)課程號(hào)查詢(xún)出該課程的相關(guān)信息,確認(rèn)刪除后,在數(shù)據(jù)庫(kù)中刪除該信息。8. 登記成績(jī)根據(jù)學(xué)號(hào),以及該學(xué)生所選擇的課程,進(jìn)行成績(jī)登記,為選課的同學(xué)將無(wú)法登記。9. 修改成績(jī)對(duì)已經(jīng)登記的成績(jī)信息進(jìn)行修改。10. 學(xué)生查詢(xún)可以根據(jù)學(xué)生學(xué)號(hào)、學(xué)生姓名、學(xué)生性別、學(xué)生所學(xué)專(zhuān)業(yè)、學(xué)生所屬學(xué)院來(lái)對(duì)學(xué)生信息進(jìn)行查詢(xún),所有符合查詢(xún)條件的學(xué)生信息將都被顯示出來(lái)。11. 課程查詢(xún)按照課程名稱(chēng)和授課教師的名稱(chēng)對(duì)課程詳細(xì)信息進(jìn)行查詢(xún),所有符合查詢(xún)條件的課程信息都將會(huì)被顯示出來(lái)。12. 成績(jī)查詢(xún):根據(jù)學(xué)生的學(xué)號(hào)來(lái)查詢(xún)?cè)搶W(xué)生所

9、有課程的成績(jī)。第五部分 數(shù)據(jù)庫(kù)的設(shè)計(jì)5.1數(shù)據(jù)庫(kù)設(shè)計(jì)此系統(tǒng)使用的是mysql數(shù)據(jù)庫(kù),由于此系統(tǒng)需要的數(shù)據(jù)量不是很大,所以選擇比較簡(jiǎn)便的mysql數(shù)據(jù)庫(kù)。此系統(tǒng)的數(shù)據(jù)庫(kù)名稱(chēng)是studentsys,創(chuàng)建語(yǔ)句如下:Create database studentsys0.1;5.2數(shù)據(jù)表的設(shè)計(jì)數(shù)據(jù)庫(kù)中包含三個(gè)表,即是學(xué)生信息表(student)、課程信息表(Course)和學(xué)生選課表(SC),設(shè)計(jì)要求如表13所示。表1 學(xué)生信息表(Student)名稱(chēng)字段名稱(chēng)數(shù)據(jù)類(lèi)型主鍵非空學(xué)號(hào)SnumVarchar(20)YesYes學(xué)生姓名SnameVarchar(10)NoNo性別SsexVarchar(2)N

10、oNo民族SethnicVarchar(4)NoNo籍貫ShomeVarchar(20)NoNo入學(xué)年份SyearVarchar(10)NoNo專(zhuān)業(yè)SmajorVarchar(10)NoNo學(xué)院ScollegeVarchar(10)NoNo出生日期SbirthVarchar(10)NoNo學(xué)分績(jī)點(diǎn)SpointVarchar(10)NoNo表2 課程信息表(Course)名稱(chēng)字段名稱(chēng)數(shù)據(jù)類(lèi)型主鍵非空課程編碼CnumVarchar(10)YesYes課程名稱(chēng)CnameVarchar(20)NoNo授課教師CteacherVarchar(10)NoNo上課地點(diǎn)CplaceVarchar(10)NoN

11、o課程學(xué)分CpointSmallintNoNo課程系數(shù)CratioVarchar(2,2)NoNo表3 學(xué)生選課表(SC)名稱(chēng)字段名稱(chēng)數(shù)據(jù)類(lèi)型主鍵非空學(xué)號(hào)SnumVarchar(20)YesYes課程編碼CnumVarchar(10)YesYes成績(jī)GradeFloat(4,2)NoNo數(shù)據(jù)表Student的數(shù)據(jù)庫(kù)操作語(yǔ)句是:create table Student(Snum varchar(20) primary key,Sname Varchar(20),Ssex varchar(2),Sethnic varchar(4),Shome Varchar(20),Syear varchar(1

12、0),Smajor Varchar(10),Scollege varchar(10),Sbirth varchar(10),Spoint varchar(10);數(shù)據(jù)表Course的數(shù)據(jù)庫(kù)操作語(yǔ)句是:create table Course(Cnum varchar(10) primary key,Cname Varchar(20),Cteather varchar(10),Cplace varchar(10),Cpoint smallint,Cratio float (2,2);數(shù)據(jù)表SC的數(shù)據(jù)庫(kù)操作語(yǔ)句是:create table SC(Snum varchar(20),Cnum varch

13、ar(10),Grade float(4,2),primary key (Snum,Cnum),foreign key(Snum) references Student(Snum),foreign key(Cnum) references Course(Cnum);第六部分 詳細(xì)設(shè)計(jì)該系統(tǒng)由6個(gè)模塊構(gòu)成,包括學(xué)生管理系統(tǒng)主界面模塊、學(xué)生信息管理模塊、課程信息管理模塊、成績(jī)管理模塊、信息查詢(xún)模塊和數(shù)據(jù)庫(kù)操作模塊,以下分別加以敘述:6.1 學(xué)生管理系統(tǒng)主界面模塊學(xué)生管理系統(tǒng)的主界面模塊包括StuMS.java和StuMain.java兩個(gè)文件。StuMS是學(xué)生管理系統(tǒng)的主運(yùn)行類(lèi),其中有整個(gè)程序的主

14、方法main,該文件生成了StuMain類(lèi)的一個(gè)實(shí)例,從而生成了學(xué)生管理系統(tǒng)的主界面,如圖2所示。StuMain類(lèi)繼承了JFrame類(lèi),實(shí)現(xiàn)了事件監(jiān)聽(tīng)接口,它有一個(gè)不帶參數(shù)的構(gòu)造函數(shù)StuMain(),用來(lái)生成StuMain實(shí)例,StuMain類(lèi)將所有的功能集中到面板中,面板上的按鍵是按網(wǎng)格排布,生成按鈕,通過(guò)按鈕的響應(yīng)函數(shù)調(diào)用其他模塊的函數(shù)來(lái)實(shí)現(xiàn)學(xué)生管理系統(tǒng)的各個(gè)功能,以下是主界面的運(yùn)行程序:圖6.1.1 主界面運(yùn)行程序6.2 學(xué)生信息管理模塊學(xué)生信息管理模塊主要由StuInfo.java、AddStuInfo.java、EditStuInfo.java、DelStuInfo.java、Se

15、lectCourse.java和StuInfoSearchSnum.java這六個(gè)文件組成,每個(gè)java文件只有一個(gè)類(lèi),完全實(shí)現(xiàn)模塊化設(shè)計(jì),StuInfo類(lèi)是AddStuInfo、EditStuInfo、DelStuInfo的超類(lèi),因?yàn)檫@三個(gè)類(lèi)生成的界面是相同的具有共同之處。SelectCourse模塊是選課模塊,StuInfoSearchSnum是查詢(xún)模塊,用于AddStuInfo、EditStuInfo、DelStuInfo調(diào)用來(lái)查詢(xún)學(xué)生信息以便增加、修改和刪除學(xué)生信息。學(xué)生信息管理模塊的幾個(gè)界面如下:圖 6.2.1 學(xué)生信息添加界面圖6.2.2 學(xué)生信息修改界面圖6.2.3 學(xué)生信息刪除

16、界面圖6.2.3 學(xué)生選課界面6.3 課程信息管理模塊課程信息管理模塊主要由CourseInfo.java、AddCourseInfo.java、EditCourseInfo.java、DelCourseInfo.java和StuInfoSearchSnum.java這六個(gè)文件組成,每個(gè)java文件只有一個(gè)類(lèi),完全實(shí)現(xiàn)模塊化設(shè)計(jì),CourseInfo類(lèi)是AddCourseInfo、EditCourseInfo、DelCourseInfo的超類(lèi),因?yàn)檫@三個(gè)類(lèi)生成的界面是相同的具有共同之處。CourseInfoSearchSnum是查詢(xún)模塊,用于AddCourseInfo、EditCourseIn

17、fo、DelCourseInfo調(diào)用來(lái)查詢(xún)課程以便增加、修改和刪除課程。課程信息管理模塊的幾個(gè)界面如下:圖 6.3.1 課程信息增加界面圖 6.3.1 課程信息修改界面圖 6.3.1 課程信息刪除界面6.4 查詢(xún)模塊查詢(xún)模塊分學(xué)生信息查詢(xún)、課程信息查詢(xún)和成績(jī)查詢(xún):界面如下:圖 6.4 查詢(xún)模塊圖6.5 數(shù)據(jù)庫(kù)操作模塊數(shù)據(jù)庫(kù)操作模塊包括連接數(shù)據(jù)庫(kù)和數(shù)據(jù)庫(kù)操作,連接數(shù)據(jù)庫(kù)在類(lèi)DataBase.java中,操作數(shù)據(jù)庫(kù)類(lèi)分別在幾個(gè)不同的類(lèi)里,學(xué)生信息操作在StuBean.java,選課操作在Csbean.java中,課程操作在CrsBean.java中,代碼在附錄里,這里就不重復(fù)了。第七部分 課程設(shè)計(jì)

18、心得在本系統(tǒng)的開(kāi)發(fā)過(guò)程中,由于本人是初次開(kāi)發(fā)軟件,在知識(shí)、經(jīng)驗(yàn)方面都存在著不足。另外,在整個(gè)開(kāi)發(fā)的過(guò)程中,時(shí)間也比較倉(cāng)促。因此,該系統(tǒng)必然會(huì)存在一些缺陷和不足。因?yàn)閷?duì)學(xué)生信息管理的整個(gè)流程不夠熟悉,在需求分析時(shí)未能做到完全滿(mǎn)足用戶(hù)的需求。盡管本管理系統(tǒng)存在著很多不足,但其功能全面、易于日后程序更新、數(shù)據(jù)庫(kù)管理容易、界面友好、操作方便、效率高、安全性好等優(yōu)點(diǎn)是本管理系統(tǒng)所必需的。通過(guò)開(kāi)發(fā)這個(gè)系統(tǒng),我掌握了的項(xiàng)目基本開(kāi)發(fā)過(guò)程,用到的知識(shí)鞏固了我對(duì)JAVA的學(xué)習(xí),但在這次設(shè)計(jì)中的最大收獲并不是掌握這幾門(mén)開(kāi)發(fā)工具的應(yīng)用,而是學(xué)會(huì)了設(shè)計(jì)系統(tǒng)的思維方法,以及與同學(xué)們之間相互幫助的精神。從開(kāi)始入手到做完報(bào)告

19、,我收獲很多,在這,衷心的感謝趙宏宇老師給予了精心的指導(dǎo)和熱情的幫助,導(dǎo)師提出許多寶貴的設(shè)計(jì)意見(jiàn),這樣使得我得以順利的完成課程設(shè)計(jì)開(kāi)發(fā)工作,在短暫的一個(gè)學(xué)期的相處時(shí)間里,老師淵博的知識(shí)、敏銳的思路和實(shí)事求是的工作作風(fēng)給我留下了深刻的印象,這將使得我終身受益,謹(jǐn)此向老師表示衷心的感謝和崇高的敬意!第八部分 附錄(按名稱(chēng)排序)/AddCourseInfo.java/import java.awt.event.*;import java.awt.*;import javax.swing.*;/* * 課程信息管理模塊 * 添加新的課程信息 */public class AddCourseInfo e

20、xtends CourseInfoCrsBean getCnum = new CrsBean();public AddCourseInfo() this.setTitle("添加課程信息");this.setResizable(false);cNum.setEditable(true);cName.setEditable(true);cTeacher.setEditable(true);cPoint.setEditable(true);cRatio.setEditable(true);cPlace.setEditable(true);/設(shè)置運(yùn)行位置,使對(duì)話(huà)框居中Dimens

21、ion screenSize = Toolkit.getDefaultToolkit().getScreenSize();this.setLocation( (int) (screenSize.width - 400) / 2 ,(int) (screenSize.height - 300) / 2 +45);public void downInit()addInfo.setText("增加");addInfo.setFont(new Font("Dialog",0,12);downPanel.add(addInfo);clearInfo.setText

22、("清空");clearInfo.setFont(new Font("Dialog",0,12);downPanel.add(clearInfo);eixtInfo.setText("退出");eixtInfo.setFont(new Font("Dialog",0,12);downPanel.add(eixtInfo);this.contentPane.add(downPanel,BorderLayout.SOUTH);/添加事件偵聽(tīng)addInfo.addActionListener(this);clearInf

23、o.addActionListener(this);eixtInfo.addActionListener(this);/* * 事件處理 */public void actionPerformed(ActionEvent e) Object obj = e.getSource();if (obj = eixtInfo) /退出this.dispose();else if (obj = addInfo) /增加cNum.setEnabled(false);cName.setEditable(false);cTeacher.setEditable(false);cPoint.setEditable

24、(false);cRatio.setEditable(false);cPlace.setEditable(false);addInfo.setEnabled(false);clearInfo.setEnabled(false);eixtInfo.setEnabled(false);CrsBean addCrs = new CrsBean();addCrs.crsAdd(cNum.getText(),cName.getText(), cTeacher.getText(), cPlace.getText(), cPoint.getText(), cRatio.getText();this.disp

25、ose();AddCourseInfo aci = new AddCourseInfo();aci.downInit();aci.pack();aci.setVisible(true);this.dispose();else if (obj = clearInfo) /清空setNull();cNum.setText("");/AddGradeInfo.java/import java.awt.event.*;import java.awt.*;import javax.swing.*;/* * 成績(jī)信息管理模塊 * 添加新的成績(jī)信息 */public class AddG

26、radeInfo extends GradeInfo implements ActionListenerpublic AddGradeInfo() this.setTitle("添加成績(jī)信息");this.setResizable(false);/設(shè)置運(yùn)行位置,使對(duì)話(huà)框居中Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();this.setLocation( (int) (screenSize.width - 400) / 2 ,(int) (screenSize.height - 300)

27、/ 2 +45);public void downInit()addInfo.setText("增加");addInfo.setFont(new Font("Dialog",0,12);downPanel.add(addInfo);eixtInfo.setText("退出");eixtInfo.setFont(new Font("Dialog",0,12);downPanel.add(eixtInfo);this.contentPane.add(downPanel,BorderLayout.SOUTH);sNum.

28、addActionListener(this);addInfo.addActionListener(this);eixtInfo.addActionListener(this);/* * 事件處理 */public void actionPerformed(ActionEvent e) Object obj = e.getSource();if (obj = addInfo) /增加cNum.setEnabled(false);cName.setEditable(false);cTeacher.setEditable(false);Grade.setEditable(false);sNum.s

29、etEditable(false);sName.setEditable(false);addInfo.setEnabled(false);clearInfo.setEnabled(false);eixtInfo.setEnabled(false);csBean addGrade = new csBean();addGrade.csModify(cNum.getText(),(String)sNum.getSelectedItem(),Grade.getText();this.dispose();AddGradeInfo agi = new AddGradeInfo();agi.downInit

30、();agi.pack();agi.setVisible(true);else if (obj = eixtInfo) /退出this.dispose();else if (obj = sNum) /選擇學(xué)號(hào)StuBean sN = new StuBean();sName.setText(sN.stuSearch(String)sNum.getSelectedItem()0);if(cName.getItemCount()>0)cName.removeAllItems();csBean cN = new csBean();cReturn = cN.cNameSearch(String)s

31、Num.getSelectedItem();if(cReturn = null)cName.removeActionListener(this);JOptionPane.showMessageDialog(null,"該學(xué)生沒(méi)有選擇課程!");addInfo.setEnabled(false);cName.setEnabled(false);elseint i = 0;for(i = 0; i < (cReturn.length); i+)cName.addItem(cReturni);cName.setEnabled(true);sNum.setEnabled(fa

32、lse);cName.setSelectedItem(null);cName.addActionListener(this);else if (obj = cName) /選擇課程號(hào)CrsBean cSname = new CrsBean();cNum.setText(cSname.crsNameSearch(String)cName.getSelectedItem(),(String)sNum.getSelectedItem()0);cTeacher.setText(cSname.crsNameSearch(String)cName.getSelectedItem(),(String)sNu

33、m.getSelectedItem()1);addInfo.setEnabled(true);cName.setEnabled(false);cName.removeActionListener(this);/AddStuInfo.java/import java.awt.event.*;import java.awt.*;import javax.swing.*;/*setNull * 學(xué)生信息管理模塊 * 添加新的學(xué)生信息 */public class AddStuInfo extends StuInfo StuBean getSnum = new StuBean();public Add

34、StuInfo() this.setTitle("添加學(xué)生信息");this.setResizable(false);sNum.setEditable(true);/sNum.setText(""+getSnum.getStuId();sName.setEditable(true);sSex.setEditable(true);sSethnic.setEditable(true);sBirth.setEditable(true);sYear.setEditable(true);sMajor.setEditable(true);sCollege.setEd

35、itable(true);sHome.setEditable(true);/設(shè)置運(yùn)行時(shí)窗口的位置Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();this.setLocation(screenSize.width - 400) / 2, (screenSize.height - 300) / 2 + 45);public void downInit()addInfo.setText("增加");addInfo.setFont(new Font("Dialog",0,12)

36、;downPanel.add(addInfo);clearInfo.setText("清空");clearInfo.setFont(new Font("Dialog",0,12);downPanel.add(clearInfo);eixtInfo.setText("退出");eixtInfo.setFont(new Font("Dialog",0,12);downPanel.add(eixtInfo);/添加事件偵聽(tīng)addInfo.addActionListener(this);clearInfo.addActio

37、nListener(this);eixtInfo.addActionListener(this);this.contentPane.add(downPanel,BorderLayout.SOUTH);/* * 事件處理 */public void actionPerformed(ActionEvent e) Object obj = e.getSource();if (obj = eixtInfo) /退出this.dispose();else if (obj = addInfo) /增加sNum.setEnabled(false);sName.setEnabled(false);sSex.s

38、etEnabled(false);sSethnic.setEnabled(false);sBirth.setEnabled(false);sYear.setEnabled(false);sMajor.setEnabled(false);sCollege.setEnabled(false);sHome.setEnabled(false);addInfo.setEnabled(false);clearInfo.setEnabled(false);eixtInfo.setEnabled(false);StuBean addStu = new StuBean();addStu.stuAdd(sNum.

39、getText(),sName.getText(), sSex.getText(), sBirth.getText(), sHome.getText(), sSethnic.getText(), sYear.getText(), sMajor.getText(), sCollege.getText();this.dispose();AddStuInfo asi = new AddStuInfo();asi.downInit();asi.pack();asi.setVisible(true);else if (obj = clearInfo) /清空setNull();/sNum.setText

40、(""+getSnum.getStuId();/CourseInfo.java/import javax.swing.*;import java.awt.*;import java.awt.event.*;import .*;/* * 課程信息綜合管理類(lèi) * 提供主界面,供其他類(lèi)繼承 */public class CourseInfo extends JFrame implements ActionListenerContainer contentPane;JPanel centerPanel = new JPanel();JPanel upPanel = new JPan

41、el();JPanel downPanel = new JPanel();/框架的大小Dimension faceSize = new Dimension(800, 500);JLabel jLabel1 = new JLabel();JLabel jLabel2 = new JLabel();JLabel jLabel3 = new JLabel();JLabel jLabel4 = new JLabel();JLabel jLabel5 = new JLabel();JLabel jLabel6 = new JLabel();JTextField cNum = new JTextField

42、(15);JTextField cName = new JTextField(15);JTextField cTeacher = new JTextField(15);JTextField cPoint = new JTextField(15);JTextField cRatio = new JTextField(15);JTextField cPlace = new JTextField(15);JButton searchInfo = new JButton();JButton addInfo = new JButton();JButton modifyInfo = new JButton

43、();JButton deleteInfo = new JButton();JButton clearInfo = new JButton();JButton saveInfo = new JButton();JButton eixtInfo = new JButton();GridBagLayout girdBag = new GridBagLayout();GridBagConstraints girdBagCon;public CourseInfo() this.setSize(faceSize);/設(shè)置標(biāo)題this.setTitle("課程綜合信息管理"); thi

44、s.setResizable(false);/設(shè)置程序圖標(biāo)this.setIconImage(getImage("icon.gif");tryInit();catch(Exceptione) e.printStackTrace();public void Init() throws Exception contentPane = this.getContentPane();contentPane.setLayout(new BorderLayout();/中部面板的布局centerPanel.setLayout(girdBag);jLabel1.setText("

45、課程編碼:");jLabel1.setFont(new Font("Dialog",0,12);girdBagCon = new GridBagConstraints();girdBagCon.gridx = 0;girdBagCon.gridy = 0;girdBagCon.insets = new Insets(10,10,10,1);girdBag.setConstraints(jLabel1,girdBagCon);centerPanel.add(jLabel1);girdBagCon = new GridBagConstraints();girdBagC

46、on.gridx = 1;girdBagCon.gridy = 0;girdBagCon.insets = new Insets(10,1,10,15);girdBag.setConstraints(cNum,girdBagCon);centerPanel.add(cNum);jLabel2.setText("課程名稱(chēng):");jLabel2.setFont(new Font("Dialog",0,12);girdBagCon = new GridBagConstraints();girdBagCon.gridx = 2;girdBagCon.gridy

47、= 0;girdBagCon.insets = new Insets(10,15,10,1);girdBag.setConstraints(jLabel2,girdBagCon);centerPanel.add(jLabel2);girdBagCon = new GridBagConstraints();girdBagCon.gridx = 3;girdBagCon.gridy = 0;girdBagCon.insets = new Insets(10,1,10,10);girdBag.setConstraints(cName,girdBagCon);centerPanel.add(cName

48、);jLabel3.setText("授課老師:");jLabel3.setFont(new Font("Dialog",0,12);girdBagCon = new GridBagConstraints();girdBagCon.gridx = 0;girdBagCon.gridy = 1;girdBagCon.insets = new Insets(10,10,10,1);girdBag.setConstraints(jLabel3,girdBagCon);centerPanel.add(jLabel3);girdBagCon = new GridB

49、agConstraints();girdBagCon.gridx = 1;girdBagCon.gridy = 1;girdBagCon.insets = new Insets(10,1,10,15);girdBag.setConstraints(cTeacher,girdBagCon);centerPanel.add(cTeacher);jLabel4.setText("課程學(xué)分:");jLabel4.setFont(new Font("Dialog",0,12);girdBagCon = new GridBagConstraints();girdBa

50、gCon.gridx = 2;girdBagCon.gridy = 1;girdBagCon.insets = new Insets(10,15,10,1);girdBag.setConstraints(jLabel4,girdBagCon);centerPanel.add(jLabel4);girdBagCon = new GridBagConstraints();girdBagCon.gridx = 3;girdBagCon.gridy = 1;girdBagCon.insets = new Insets(10,1,10,10);girdBag.setConstraints(cPoint,

51、girdBagCon);centerPanel.add(cPoint);jLabel5.setText("課程系數(shù):");jLabel5.setFont(new Font("Dialog",0,12);girdBagCon = new GridBagConstraints();girdBagCon.gridx = 0;girdBagCon.gridy = 2;girdBagCon.insets = new Insets(10,10,10,1);girdBag.setConstraints(jLabel5,girdBagCon);centerPanel.add(jLabel5);girdBagCon = new GridBagConstraints();girdBagCon.gridx = 1;girdBagCon.gridy = 2;girdBagCon.insets = new Insets(10,1,10,15);girdBag.setConstraints(cRatio,girdBagCon);centerPanel.add(cRatio);jLabel6.setText("上課地點(diǎn):");jLabel6.setFont(new Font("Dialog",0,12);

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論