JAVA課程設(shè)計(jì)基于MYSQL的學(xué)生信息管理系統(tǒng)_第1頁(yè)
JAVA課程設(shè)計(jì)基于MYSQL的學(xué)生信息管理系統(tǒng)_第2頁(yè)
JAVA課程設(shè)計(jì)基于MYSQL的學(xué)生信息管理系統(tǒng)_第3頁(yè)
JAVA課程設(shè)計(jì)基于MYSQL的學(xué)生信息管理系統(tǒng)_第4頁(yè)
JAVA課程設(shè)計(jì)基于MYSQL的學(xué)生信息管理系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩35頁(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、目 錄 概述概述 .3 一、課題介紹.3 二、目的和要求.3 三、任務(wù)計(jì)劃.3 需求分析需求分析.5 一、學(xué)生管理系統(tǒng)的發(fā)展現(xiàn)狀.5 二、系統(tǒng)功能分析.5 三、系統(tǒng)結(jié)構(gòu)框圖.5 數(shù)據(jù)庫(kù)設(shè)計(jì)數(shù)據(jù)庫(kù)設(shè)計(jì).7 一、創(chuàng)建數(shù)據(jù)表的結(jié)構(gòu).7 二、各表功能及其關(guān)系.7 系統(tǒng)模塊功能的實(shí)現(xiàn)與界面設(shè)計(jì)系統(tǒng)模塊功能的實(shí)現(xiàn)與界面設(shè)計(jì) .8 一、系統(tǒng)主要模塊.8 二、歡迎界面.9 三、主菜單界面.9 四、子菜單.10 五、學(xué)生信息錄入.11 六、學(xué)生信息查找.12 七、學(xué)生信息刪除.13 八、學(xué)生信息修改.14 課程設(shè)計(jì)心得課程設(shè)計(jì)心得 .15 一、程序結(jié)構(gòu)設(shè)計(jì)培養(yǎng).15 二、書寫習(xí)慣養(yǎng)成.15 三、注意程序簡(jiǎn)潔.1

2、5 總結(jié)總結(jié) .16 參考文獻(xiàn)參考文獻(xiàn).17 附錄:項(xiàng)目源代碼附錄:項(xiàng)目源代碼.18 一、數(shù)據(jù)庫(kù)連接(dbconnection.java) .18 二、學(xué)生信息數(shù)據(jù)庫(kù)管理(student_dao.java).18 三、歡迎界面(welcome.java).23 四、主菜單界面(menu.java).24 五、子菜單界面(son_menu.java).27 六、添加功能(add_menu.java) .31 七、查找功能(find_menu.java).34 八、刪除功能(delet_menu.java).36 九、修改功能(change_menu.java).38 概述 一、一、課題介紹課題介

3、紹 本次課程設(shè)計(jì)要求實(shí)現(xiàn)一個(gè)面向?qū)W生信息的管理系統(tǒng)。學(xué)生信息系統(tǒng)是一個(gè)非常 通用的管理系統(tǒng)。很多大、中、小學(xué)校都需要擁有自己的學(xué)生檔案管理系統(tǒng),以便對(duì) 本校學(xué)生的基本信息和學(xué)習(xí)情況進(jìn)行管理,另一方面,較完整的學(xué)校信息管理系統(tǒng)同 樣也需要有學(xué)生信息管理系統(tǒng)的支持。 由通用的學(xué)生相關(guān)數(shù)據(jù)分析可知,系統(tǒng)包括院系管理、學(xué)生基本信息管理、課程 管理、學(xué)生從成績(jī)管理等主要功能。 該系統(tǒng)要求使用 java 和 mysql 作為開發(fā)工具和數(shù)據(jù)庫(kù)管理系統(tǒng),因此,系統(tǒng) 設(shè)計(jì)涉及系統(tǒng)功能設(shè)計(jì)、數(shù)據(jù)庫(kù)設(shè)計(jì)和系統(tǒng)界面等幾個(gè)方面內(nèi)容。 二、二、目的和要求目的和要求 1.了解 java 語(yǔ)言的特點(diǎn)及使用的范圍,掌握開發(fā)軟件

4、平臺(tái)的搭建。 2.要求使用 java 和 mysql 開發(fā)一個(gè)學(xué)生信息管理系統(tǒng),系統(tǒng)主要功能如下: 1) 院系信息管理 院系系統(tǒng)信息的錄入,包括院系編號(hào)、院系名稱等信息; 院系信息的修改、刪除、查詢。 2) 學(xué)生基本信息管理 學(xué)生基本信息的錄入,包括學(xué)號(hào)、姓名、性別、出生日期、所在院系、班級(jí)等信 息; 學(xué)生基本信息的修改、刪除、查詢。 3) 課程設(shè)置管理 課程信息的錄入,包括課程編號(hào)、課程名稱、學(xué)分、課程內(nèi)容等信息; 課程信息的修改、刪除、查詢。 4) 學(xué)生成績(jī)管理 學(xué)生成績(jī)的錄入,包括課程編號(hào)、課程名稱、學(xué)分、課程內(nèi)容等信息; 學(xué)生信息的修改、刪除、查詢。 三、三、任務(wù)計(jì)劃任務(wù)計(jì)劃 考慮到本

5、次課程設(shè)計(jì)是獨(dú)立完成,所以,不需要進(jìn)行細(xì)致的分工,只要對(duì)框架和 時(shí)間進(jìn)行一定的規(guī)劃就行。 時(shí)間計(jì)劃執(zhí)行結(jié)果 112 月 13 日 查閱相關(guān)資料 準(zhǔn)備好基礎(chǔ)知識(shí) 查閱了 java swing,mysql 等方面 的相關(guān)資料。 212 月 14 日進(jìn)行需求分析得到需求分析總結(jié)。 312 月 14 日21 日正式設(shè)計(jì)完成代碼設(shè)計(jì)及調(diào)試 512 月 22 日完成課程設(shè)計(jì)報(bào)告整理文件,并完成書面報(bào)告 需求分析 一、一、學(xué)生管理系統(tǒng)的發(fā)展現(xiàn)狀學(xué)生管理系統(tǒng)的發(fā)展現(xiàn)狀 經(jīng)過(guò)了一段時(shí)間的發(fā)展,當(dāng)今,各大高校普遍都有了相對(duì)完善的學(xué)生管理系統(tǒng), 但在部分中小學(xué)中,這種高效的管理手段,仍未能全面普及。目前已有的學(xué)生管

6、理系 統(tǒng)存在界面和操作相對(duì)繁瑣,實(shí)現(xiàn)成本較高等缺點(diǎn),仍需改進(jìn)。 二、二、系統(tǒng)功能分析系統(tǒng)功能分析 由通用的學(xué)生相關(guān)數(shù)據(jù)分析可知,系統(tǒng)包括院系管理、學(xué)生基本信息管理、課程 管理、學(xué)生從成績(jī)管理等主要功能主要功能 1。 實(shí)現(xiàn)以上各模塊的功能,需要以下子功能: 1 數(shù)據(jù)庫(kù)連接的建立與斷開 2 數(shù)據(jù)庫(kù)的數(shù)據(jù)操作,包括插入、查詢、刪除、修改 3.系統(tǒng)操作界面與數(shù)據(jù)庫(kù)操作相關(guān)聯(lián) 三、三、系統(tǒng)結(jié)構(gòu)框圖系統(tǒng)結(jié)構(gòu)框圖 從系統(tǒng)功能表述可以看出,該系統(tǒng)可以實(shí)現(xiàn)幾個(gè)功能,根據(jù)這些功能設(shè)計(jì)出系統(tǒng) 的功能模塊如 圖表 1 所示: 1 因各模塊基本功能相近,故本文僅以學(xué)生基本信息管理功能為例 學(xué)生信息管理系統(tǒng) 數(shù)據(jù)庫(kù)連接

7、學(xué)生基本信息管理 課程設(shè)置管理 學(xué)生成績(jī)管理 添加 查看 查詢 修改 刪除 院系管理 圖表 1 學(xué)生信息管理系統(tǒng)功能模塊圖學(xué)生信息管理系統(tǒng)功能模塊圖 數(shù)據(jù)庫(kù)設(shè)計(jì) 一、一、創(chuàng)建數(shù)據(jù)表的結(jié)構(gòu)創(chuàng)建數(shù)據(jù)表的結(jié)構(gòu) (以學(xué)生基本信息管理系統(tǒng)為例) 1.主要數(shù)據(jù)項(xiàng) 學(xué)號(hào)、姓名、性別、出生年月、所在院系、所在班級(jí) 2.數(shù)據(jù)類型及要求 為操作方便,均定義為字符串。其中學(xué)號(hào)不得重復(fù)。 3.mysql 建表語(yǔ)句 二、二、各表功能及其關(guān)系各表功能及其關(guān)系 1.本系統(tǒng)各表分別存儲(chǔ)相應(yīng)數(shù)據(jù)。 2.涉及的數(shù)據(jù)表之間相對(duì)獨(dú)立,但仍有少量關(guān)聯(lián)。 1) 學(xué)生成績(jī)表 包含對(duì) 學(xué)生基本信息表 和 課程設(shè)置表 的映射 2) 學(xué)生基本信

8、息表 包含對(duì) 院系信息表 的映射 create table student ( id int(11) primary key not null unique, name varchar(20) , sex char(1), birthday varchar(20), depart varchar(20), class varchar(20) ); 系統(tǒng)模塊功能的實(shí)現(xiàn)與界面設(shè)計(jì) 一、一、系統(tǒng)主要模塊系統(tǒng)主要模塊 本次課程設(shè)計(jì)的主要目的,是通過(guò)實(shí)踐,讓我對(duì)所學(xué)到的知識(shí)進(jìn)行考驗(yàn)和鞏固。 經(jīng)過(guò)一點(diǎn)時(shí)間的了解。設(shè)計(jì)出了系統(tǒng)的總體框架,參看圖表 1。 由于各模塊的功能及原理基本相同,只是涉及的數(shù)據(jù)類型有所

9、不同,所以本次只 對(duì)學(xué)生基本信息管理的功能進(jìn)行了較為全面的設(shè)計(jì)。由于時(shí)間關(guān)系,其余功能沒(méi)有進(jìn) 行具體設(shè)計(jì)。 (具體的在以下說(shuō)明中會(huì)提及) 系統(tǒng)界面設(shè)計(jì)如下: 模塊名稱模塊名稱相關(guān)的類相關(guān)的類 登錄界面登錄界面welcome.class 菜單界面菜單界面menu.class 數(shù)據(jù)庫(kù)管理模塊: 模塊名稱模塊名稱相關(guān)的類相關(guān)的類 數(shù)據(jù)庫(kù)鏈接數(shù)據(jù)庫(kù)鏈接dbconnection.class 學(xué)生信息數(shù)據(jù)庫(kù)管理學(xué)生信息數(shù)據(jù)庫(kù)管理studentdao.class 院系信息數(shù)據(jù)庫(kù)管理院系信息數(shù)據(jù)庫(kù)管理departdao.class 課程信息數(shù)據(jù)庫(kù)管理課程信息數(shù)據(jù)庫(kù)管理coursedao.class 成績(jī)信息數(shù)

10、據(jù)庫(kù)管理成績(jī)信息數(shù)據(jù)庫(kù)管理scoredao.class 模塊功能界面設(shè)計(jì)如下: 模塊名稱模塊名稱相關(guān)的類相關(guān)的類 子菜單子菜單son_menu.class 添加功能添加功能add_menu.class 查詢功能查詢功能find_menu.class 刪除功能刪除功能delet_menu.class 修改功能修改功能change_menu.class 二、二、歡迎界面歡迎界面 1.實(shí)際運(yùn)行效果(圖表 2) 2.實(shí)現(xiàn)方法 1) 繼承了 jpanel,并在構(gòu)造函數(shù)中建立 jframe 做外框; 2) 用 jlabel 顯示歡迎信息內(nèi)容; 3) 確定按鈕在監(jiān)聽到事件后,new 出一個(gè) menu 類;

11、三、三、主菜單界面主菜單界面 1.實(shí)際運(yùn)行效果(圖表 3) 2.實(shí)現(xiàn)方法 1) 繼承 jframe 類,在 內(nèi)部建立的 jpanel 插入 jbutton; 2) 定義相應(yīng)按鈕的響 應(yīng)事件,調(diào)用子菜單的不同 建立函數(shù)(如 new son_menu().studentmenu(); ); 圖表 2 歡迎界面 圖表 3 主菜單界面 四、四、子菜單子菜單 1.實(shí)際運(yùn)行效果(error! reference source not found.) 2.實(shí)現(xiàn)方法 1) 建立 jframe,jtable,jbutton 等工具; 2) 建立數(shù)據(jù)庫(kù)鏈接; 3) 將數(shù)據(jù)庫(kù)里的數(shù)據(jù)逐個(gè)讀入到 jtable 類;

12、4) 對(duì) jbutton 加入 actionlistener,并關(guān)聯(lián)相應(yīng)的功能菜單,如: 圖表 4 子菜單 五、五、學(xué)生信息錄入學(xué)生信息錄入 1.實(shí)際運(yùn)行效果(圖表 5) 實(shí)現(xiàn)方法 1) 由輸入的學(xué)生信息構(gòu)造一個(gè) student 類; 2) 利用 sql 語(yǔ)句,將 student 類插入到數(shù)據(jù)庫(kù); 圖表 4 錄入學(xué)生信息 六、六、學(xué)生信息查找學(xué)生信息查找 1.實(shí)際運(yùn)行效果(圖標(biāo) 6) 實(shí)現(xiàn)方法 1)由輸入的學(xué)號(hào),利用 sql 語(yǔ)句找到相關(guān)數(shù)據(jù),返回一個(gè) student 類; 2)有則將 student 的相關(guān)信息顯示到 jtextarea 上,沒(méi)有則顯示“學(xué)生信息未 找到”; 圖表 6 查找學(xué)

13、生信息 七、七、學(xué)生信息刪除學(xué)生信息刪除 1.實(shí)際運(yùn)行效果(圖表 7) 圖表 7 學(xué)生信息刪除 2.實(shí)現(xiàn)方法 1) 應(yīng)用查找功能相似的原理先搜索到要?jiǎng)h除的信息; 2) 利用 sql 語(yǔ)句將找到的信息刪除,并顯示“學(xué)生信息以刪除”。 八、八、學(xué)生信息修改學(xué)生信息修改 1.實(shí)際運(yùn)行效果 圖表 8 學(xué)生信息修改 2.實(shí)現(xiàn)方法 1) 應(yīng)用查找功能相似的原理先搜索到要修改的信息; 2) 應(yīng)用刪除功能相似的原理刪除要修改的信息; 3) 調(diào)用錄入類,錄入要修改的新信息; 課程設(shè)計(jì)心得 一、一、程序結(jié)構(gòu)設(shè)計(jì)思路培養(yǎng)程序結(jié)構(gòu)設(shè)計(jì)思路培養(yǎng) 為了簡(jiǎn)化程序,我并沒(méi)有為每個(gè)窗口都建一個(gè)類,而是把類似的窗口例如 stud

14、ent_add,depart_add 等建一個(gè)類 add_menu,調(diào)用不同的函數(shù)建立不同窗口,如: student_add() ,depart_add() ; 二、二、書寫習(xí)慣的養(yǎng)成書寫習(xí)慣的養(yǎng)成 好的書寫習(xí)慣是一個(gè)優(yōu)秀程序員的必備品質(zhì)。在寫代碼的時(shí)候要隨時(shí)注意書寫的 格式。 如:1.賦值語(yǔ)句的“=”的左右應(yīng)該用空格隔開; a=1; 改為 a = 1; 這樣更為清晰; 2.大括號(hào)一定要對(duì)齊; class public void . . 三、三、注意程序簡(jiǎn)潔注意程序簡(jiǎn)潔 在逐漸適應(yīng)面向?qū)ο缶幊桃院?。依然?yīng)道保持過(guò)去在編程中的一些好習(xí)慣。使用 vector 等,也需要留意效率。不能只顧用法方便。

15、 總結(jié) 系統(tǒng)設(shè)計(jì)過(guò)程中,主要涉及了包括 java 基本語(yǔ)法、awt,java swing,mysql 等方面的相關(guān)知識(shí)。設(shè)計(jì)中遇到不少問(wèn)題,到圖書館查閱了不少資料,向王宋君老師 請(qǐng)教過(guò)不少問(wèn)題,老師都一一細(xì)心解答,非常感謝。由于時(shí)間倉(cāng)促,原本設(shè)想的功能 還沒(méi)有一一實(shí)現(xiàn),待進(jìn)一步完善。 參考文獻(xiàn) 1.thinking in java(java 編程思想) 第四版,機(jī)械工業(yè)出版社, 【美】bruce eckel 著,陳昊鵬譯; 2.精通 java swing 程序設(shè)計(jì)中國(guó)鐵道出版社,林智揚(yáng)、范明翔、陳錦輝 編著; 3.深入淺出 java swing 程序設(shè)計(jì)中國(guó)鐵道出版社,林智揚(yáng)、范明翔、陳錦輝

16、編 著; 4.java gui 程序設(shè)計(jì)清華大學(xué)出版社,肖剛 等編著; 5.java 信息系統(tǒng)設(shè)計(jì)與開發(fā)實(shí)例機(jī)械工業(yè)出版社,黃明、梁旭、曹利超 編著; 6.java 范例大全機(jī)械工業(yè)出版社,尹繼平、張帆 編著; 附錄:項(xiàng)目源代碼 一、一、數(shù)據(jù)庫(kù)連接(數(shù)據(jù)庫(kù)連接(dbconnection.java) package dao; import java.sql.connection; import java.sql.drivermanager; import java.sql.sqlexception; public class dbconnection public static connecti

17、on getconnection() connection con = null; string url = jdbc:mysql:/localhost:3306/java; string username= root; string password = l057788y; try class.forname(com.mysql.jdbc.driver); con = drivermanager.getconnection(url,username,password); system.out.println(數(shù)據(jù)庫(kù)連接成功數(shù)據(jù)庫(kù)連接成功); catch (classnotfoundexcep

18、tion e) / todo auto-generated catch block e.printstacktrace(); return null; catch (sqlexception e) / todo auto-generated catch block e.printstacktrace(); return con; public static void closeconnection(connection con) if(con!=null) try con.close(); con = null; catch (sqlexception e) / todo auto-gener

19、ated catch block e.printstacktrace(); public static void main(string args) getconnection(); 二、二、學(xué)生信息數(shù)據(jù)庫(kù)管理(學(xué)生信息數(shù)據(jù)庫(kù)管理(student_dao.java) package dao; import java.sql.connection; import java.sql.preparedstatement; import java.sql.resultset; import java.sql.sqlexception; import java.sql.statement; import

20、 java.util.arraylist; import model.depart; import model.student; public class studentdao public boolean addinfo(student student) boolean flag; connection con = dbconnection.getconnection(); preparedstatement ps; string sql = ; /resultset rs; try sql = insert into student values(?,?,?,?,?,?); /用問(wèn)號(hào)代替

21、ps = con.preparestatement(sql); ps.setint(1, student.getid(); ps.setstring(2, student.getname(); ps.setstring(3, student.getsex(); ps.setstring(4, student.getborn_date(); ps.setstring(5, student.getdepart_id(); ps.setstring(6, student.getclass_name(); ps.execute(); system.out.println(添加了一條記錄); flag

22、= true; catch (sqlexception e) / todo auto-generated catch block e.printstacktrace(); flag = false; finally dbconnection.closeconnection(con); return flag; public arraylist findall() arraylist students = new arraylist(); connection con = dbconnection.getconnection(); statement sta; resultset rs; try

23、 sta = con.createstatement(); rs = sta.executequery(select * from student); /從表 depart 中查 詢所有數(shù)據(jù) while(rs.next() student student = new student(); student.setid(rs.getint(1); student.setname(rs.getstring(2); student.setsex(rs.getstring(3); student.setborn_date(rs.getstring(4); student.setdepart_id(rs.

24、getstring(5); student.setclass_name(rs.getstring(6); system.out.println(student.getname(); students.add(student); rs.close(); sta.close(); catch (sqlexception e) / todo auto-generated catch block e.printstacktrace(); finally dbconnection.closeconnection(con); return students; public student findone(

25、int id) student student = new student(); connection con = dbconnection.getconnection(); preparedstatement ps; string sql = ; resultset rs; try sql = select * from student where id=?; ps = con.preparestatement(sql); ps.setint(1, id); rs = ps.executequery(); /從表 depart 中查詢所有數(shù)據(jù) if(rs.next() student.set

26、id(rs.getint(id); /注意數(shù)據(jù)類型要對(duì)應(yīng) student.setname(rs.getstring(name); student.setsex(rs.getstring(sex); student.setborn_date(rs.getstring(birthday); student.setdepart_id(rs.getstring(depart); student.setclass_name(rs.getstring(class); system.out.println(id:+student.getid()+ name:+student.getname(); else

27、system.out.println(沒(méi)有數(shù)據(jù)); rs.close(); ps.close(); catch (sqlexception e) / todo auto-generated catch block e.printstacktrace(); finally dbconnection.closeconnection(con); return student; public boolean deleteinfo(student student) boolean flag; connection con = dbconnection.getconnection(); prepareds

28、tatement ps; string sql = ; try sql = delete from student where id=?; /用問(wèn)號(hào)代替 ps = con.preparestatement(sql); ps.setint(1, student.getid(); ps.execute(); system.out.println(成功刪除了一條記錄); flag = true; catch (sqlexception e) / todo auto-generated catch block e.printstacktrace(); flag = false; finally dbc

29、onnection.closeconnection(con); return flag; 三、三、 歡迎界面(歡迎界面(welcome.java) package menu; import java.awt.borderlayout; import java.awt.font; import java.awt.gridlayout; import java.awt.event.mouseadapter; import java.awt.event.mouseevent; import java.awt.event.windowadapter; import java.awt.event.win

30、dowevent; import javax.swing.*; public class welcome jframe w = new jframe(managementsystem); jpanel p1 = new jpanel(); jpanel p2 = new jpanel(); jlabel l = new jlabel(歡迎進(jìn)入學(xué)生信息管理系統(tǒng)!歡迎進(jìn)入學(xué)生信息管理系統(tǒng)!); jbutton b = new jbutton(確定確定); welcome() w.addwindowlistener(new wind(); b.addmouselistener(new monitor

31、2(); font font = new font( 歡迎進(jìn)入學(xué)生信息管理系統(tǒng)!歡迎進(jìn)入學(xué)生信息管理系統(tǒng)!, font.plain, 40); l.setfont(font); w.add(p1,borderlayout.center); w.add(p2,borderlayout.south); p1.add(l); l.setbounds(p1.width/2-100,p1.height/2-10,200,20); p2.add(b); b.setbounds(p2.width/2-10,p2.height/2-6,20,12); w.setbounds(400, 200, 600, 20

32、0); w.setvisible(true); private class monitor2 extends mouseadapter public void mousepressed(mouseevent e) new menu(); w.setvisible(false); public static void main(string args) new welcome(); private class wind extends windowadapter public void windowclosing(windowevent e) w.setvisible(false); syste

33、m.exit(0); 四、四、 主菜單界面主菜單界面 (menu.java) package menu; import java.awt.*; import java.awt.event.actionevent; import java.awt.event.actionlistener; import java.awt.event.windowadapter; import java.awt.event.windowevent; import javax.swing.*; public class menu jframe f = new jframe(菜單); jpanel p = new j

34、panel(); menu() jbutton b_depart = new jbutton(院系信息); jbutton b_student = new jbutton(學(xué)生信息); jbutton b_course = new jbutton(課程信息); jbutton b_score = new jbutton(成績(jī)信息); jbutton ex = new jbutton(退出); b_score.addactionlistener(new monitor2(); ex.addactionlistener(new monitor2(); b_depart.addactionliste

35、ner(new monitor2(); b_student.addactionlistener(new monitor2(); b_course.addactionlistener(new monitor2(); f.addwindowlistener(new wind(); f.add(p); p.setlayout(new gridlayout(1,2); jlabel l = new jlabel(); jpanel p2 = new jpanel(); p.add(l); p.add(p2); p2.setlayout(new gridlayout(5,1); p2.add(b_dep

36、art); p2.add(b_student); p2.add(b_course); p2.add(b_score); p2.add(ex); f.setbounds(400,200,400,400); f.setvisible(true); public static void main(string args) new menu(); private class wind extends windowadapter public void windowclosing(windowevent e) f.setvisible(false); system.exit(0); private cl

37、ass monitor2 implements actionlistener public void actionperformed(actionevent e) if(e.getactioncommand().equals(退出) new menu(); system.exit(0); if(e.getactioncommand().equals(學(xué)生信息) new son_menu().studentmenu(); f.setvisible(false); if(e.getactioncommand().equals(院系信息) new son_menu().departmenu(); f

38、.setvisible(false); if(e.getactioncommand().equals(課程信息) new son_menu().coursemenu(); f.setvisible(false); if(e.getactioncommand().equals(成績(jī)信息) new son_menu().scoremenu(); f.setvisible(false); 五、五、子菜單界面(子菜單界面(son_menu.java) package menu; import java.awt.borderlayout; import java.awt.gridlayout; impo

39、rt java.awt.event.actionevent; import java.awt.event.actionlistener; import java.util.arraylist; import java.util.vector; import javax.swing.*; import javax.swing.table.defaulttablemodel; import model.student; import dao.studentdao; public class son_menu jframe f ; jpanel p1 = new jpanel(); jpanel p

40、2 = new jpanel(); jbutton b_add = new jbutton(錄入); jbutton b_delet = new jbutton(刪除); jbutton b_change = new jbutton(修改); jbutton b_find = new jbutton(查找); jbutton b_return = new jbutton(返回); jtable t; defaulttablemodel tablemodel= null; public static void main(string args) new son_menu().studentmen

41、u(); /學(xué)生信息菜單 public void studentmenu() f = new jframe(學(xué)生信息); arraylist scan = new arraylist(); vector columnnames = new vector(); columnnames.add(學(xué)號(hào)); columnnames.add(姓名); columnnames.add(性別); columnnames.add(出生年月); columnnames.add(學(xué)院代碼); columnnames.add(所在班級(jí)); tablemodel = new defaulttablemodel(col

42、umnnames,0); tablemodel.addrow(columnnames); studentdao ddao = new studentdao(); scan = ddao.findall(); for(int i=0;iscan.size();i+) vector v = new vector(); student student = (student)scan.get(i); v.add(student.getid(); v.add(student.getname(); v.add(student.getsex(); v.add(student.getborn_date();

43、v.add(student.getdepart_id(); v.add(student.getclass_name(); tablemodel.addrow(v); t = new jtable(tablemodel); t.setvisible(true); f.setlayout(new borderlayout(); f.add(p1,borderlayout.north); f.add(p2,borderlayout.south); f.setbounds(400,200,600,400); p1.add(t); b_add.setactioncommand(學(xué)生錄入); b_dele

44、t.setactioncommand(學(xué)生刪除); b_change.setactioncommand(學(xué)生修改); b_find.setactioncommand(學(xué)生查找); b_add.addactionlistener(new monitor2(); b_delet.addactionlistener(new monitor2(); b_change.addactionlistener(new monitor2(); b_find.addactionlistener(new monitor2(); b_return.addactionlistener(new monitor2(); p

45、2.add(b_add); p2.add(b_delet); p2.add(b_change); p2.add(b_find); p2.add(b_return); f.setvisible(true); /院系信息菜單 public void departmenu() f = new jframe(院系信息); t = new jtable(100,2); t.setvisible(true); f.setlayout(new borderlayout(); f.add(p1,borderlayout.north); f.add(p2,borderlayout.south); f.setbo

46、unds(400,200,400,400); p1.add(t); b_add.setactioncommand(院系錄入); b_delet.setactioncommand(院系刪除); b_change.setactioncommand(院系修改); b_find.setactioncommand(院系查找); b_add.addactionlistener(new monitor2(); b_delet.addactionlistener(new monitor2(); b_change.addactionlistener(new monitor2(); b_find.addactio

47、nlistener(new monitor2(); b_return.addactionlistener(new monitor2(); p2.add(b_add); p2.add(b_delet); p2.add(b_change); p2.add(b_find); p2.add(b_return); f.setvisible(true); /課程信息菜單 public void coursemenu() f = new jframe(課程信息); t = new jtable(100,2); t.setvisible(true); f.setlayout(new borderlayout(

48、); f.add(p1,borderlayout.north); f.add(p2,borderlayout.south); f.setbounds(400,200,400,400); p1.add(t); b_add.setactioncommand(課程錄入); b_delet.setactioncommand(課程刪除); b_change.setactioncommand(課程修改); b_find.setactioncommand(課程查找); b_add.addactionlistener(new monitor2(); b_delet.addactionlistener(new

49、monitor2(); b_change.addactionlistener(new monitor2(); b_find.addactionlistener(new monitor2(); b_return.addactionlistener(new monitor2(); p2.add(b_add); p2.add(b_delet); p2.add(b_change); p2.add(b_find); p2.add(b_return); f.setvisible(true); /成績(jī)信息菜單 public void scoremenu() f = new jframe(成績(jī)信息); t =

50、 new jtable(100,2); t.setvisible(true); f.setlayout(new borderlayout(); f.add(p1,borderlayout.north); f.add(p2,borderlayout.south); f.setbounds(400,200,400,400); p1.add(t); b_add.setactioncommand(成績(jī)錄入); b_delet.setactioncommand(成績(jī)刪除); b_change.setactioncommand(成績(jī)修改); b_find.setactioncommand(成績(jī)查找); b

51、_add.addactionlistener(new monitor2(); b_delet.addactionlistener(new monitor2(); b_change.addactionlistener(new monitor2(); b_find.addactionlistener(new monitor2(); b_return.addactionlistener(new monitor2(); p2.add(b_add); p2.add(b_delet); p2.add(b_change); p2.add(b_find); p2.add(b_return); f.setvis

52、ible(true); private class monitor2 implements actionlistener public void actionperformed(actionevent e) if(e.getactioncommand().equals(返回) f.setvisible(false); new menu(); if(e.getactioncommand().equals(學(xué)生錄入) f.setvisible(false); new add_menu().student_add(); if(e.getactioncommand().equals(學(xué)生刪除) f.s

53、etvisible(false); new delet_menu().student_delet(); if(e.getactioncommand().equals(學(xué)生修改) f.setvisible(false); new change_menu().student_change(); if(e.getactioncommand().equals(學(xué)生查找) f.setvisible(false); new find_menu().student_find(); 六、六、添加功能(添加功能(add_menu.java) package menu; import java.awt.borde

54、rlayout; import java.awt.gridlayout; import java.awt.event.actionevent; import java.awt.event.actionlistener; import javax.swing.*; import model.student; import dao.studentdao; public class add_menu jframe add_menu; jpanel p1,p2,p11,p12,p13,p14,p15,p16; jlabel l1,l2,l3,l4,l5,l6; jtextfield t1,t2,t3,

55、t4,t5,t6; jbutton b_ok,b_cancel; public void student_add() add_menu = new jframe(錄入學(xué)生信息); p1 = new jpanel(); p2 = new jpanel(); p11 = new jpanel(); p12 = new jpanel(); p13 = new jpanel(); p14 = new jpanel(); p15 = new jpanel(); p16 = new jpanel(); p1.setlayout(new gridlayout(6,1); l1 = new jlabel( 學(xué)

56、 號(hào):); l2 = new jlabel( 姓 名:); l3 = new jlabel( 性 別:); l4 = new jlabel(出生日期:); l5 = new jlabel(院系代碼:); l6 = new jlabel(所在班級(jí):); t1 = new jtextfield(16); t2 = new jtextfield(16); t3 = new jtextfield(16); t4 = new jtextfield(16); t5 = new jtextfield(16); t6 = new jtextfield(16); p11.add(l1); p11.add(t1)

57、; p12.add(l2); p12.add(t2); p13.add(l3); p13.add(t3); p14.add(l4); p14.add(t4); p15.add(l5); p15.add(t5); p16.add(l6); p16.add(t6); p1.add(p11); p1.add(p12); p1.add(p13); p1.add(p14); p1.add(p15); p1.add(p16); p2.add(b_ok = new jbutton(確定); p2.add(b_cancel = new jbutton(取消); b_ok.addactionlistener(n

58、ew monitor2(); b_cancel.addactionlistener(new monitor2(); add_menu.add(p1,borderlayout.north); add_menu.add(p2,borderlayout.south); add_menu.setbounds(400,200,400,300); add_menu.setvisible(true); public static void main(string args) new add_menu().student_add(); private class monitor2 implements act

59、ionlistener public void actionperformed(actionevent e) if(e.getactioncommand().equals(取消) add_menu.setvisible(false); new son_menu().studentmenu(); if(e.getactioncommand().equals(確定) student s = new student(); s.setid(integer.parseint(t1.gettext(); s.setname(t2.gettext(); s.setsex(t3.gettext(); s.se

60、tborn_date(t4.gettext(); s.setdepart_id(t5.gettext(); s.setclass_name(t6.gettext(); new studentdao().addinfo(s); add_menu.setvisible(false); new son_menu().studentmenu(); 七、七、查找功能(查找功能(find_menu.java) package menu; import java.awt.borderlayout; import java.awt.event.actionevent; import java.awt.even

溫馨提示

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