




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(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ì) 一、創(chuàng)建數(shù)據(jù)表的結(jié)構(gòu) 7二、各表功能及其關(guān)系 7系統(tǒng)模塊功能的實(shí)現(xiàn)與界面設(shè)計(jì) 8一、系統(tǒng)主要模塊 8二、歡迎界面9三、主菜單界面 錯(cuò)誤!未定義書(shū)簽。四、子菜單10五、學(xué)生信息錄入 11六、學(xué)生信息查找 12七、學(xué)生信息刪除13八、學(xué)生信息修改 14課程設(shè)計(jì)心得15word資料一、程序結(jié)構(gòu)設(shè)計(jì)培養(yǎng) 15二、書(shū)寫(xiě)習(xí)慣養(yǎng)成15三、注意程序簡(jiǎn)潔 15總結(jié)161718.乙、_卜兀 、_)_-卜參考文獻(xiàn) word資料附錄:項(xiàng)目源代碼 18數(shù)據(jù)庫(kù)連接(DBCON
2、NECTIONAVA)學(xué)生信息數(shù)據(jù)庫(kù)管理(STUDEN_DAQJAVA24三、 歡迎界面(WELCQMEIAVA23四、主菜單界面(MENU JAVA24五、子菜單界面(SQI_MENUJAVA27六、添加功能(ADD_MENUJAVA31七、 查找功能(FINDJVENUJAVA)34八、 刪除功能(Dele匸menu java)36九、修改功能(Changemenu java 錯(cuò)誤!未定義書(shū)簽概述一、課題介紹本次課程設(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)行管理
3、,另一方面,較完整的學(xué)校信息管理系統(tǒng)同樣也需 要有學(xué)生信息管理系統(tǒng)的支持。由通用的學(xué)生相關(guān)數(shù)據(jù)分析可知,系統(tǒng)包括院系管理、學(xué)生基本信息管理、課程管 理、學(xué)生從成績(jī)管理等主要功能。該系統(tǒng)要求使用JAVA和MySQL乍為開(kāi)發(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)及使用的范圍,掌握開(kāi)發(fā)軟件平臺(tái)的搭建。2. 要求使用JAVA和MySQ開(kāi)發(fā)一個(gè)學(xué)生信息管理系統(tǒng),系統(tǒng)主要功能如下:1)院系信息管理院系系統(tǒng)信息的錄入,包括院系編號(hào)、院系名稱(chēng)等信息;院系信息的修改、刪除、查詢(xún)。2)學(xué)生基本信息管理學(xué)生基本信息的錄入
4、,包括學(xué)號(hào)、姓名、性別、出生日期、所在院系、班級(jí)等信息; 學(xué)生基本信息的修改、刪除、查詢(xún)。3)課程設(shè)置管理課程信息的錄入,包括課程編號(hào)、課程名稱(chēng)、學(xué)分、課程內(nèi)容等信息;課程信息的修改、刪除、查詢(xún)。4)學(xué)生成績(jī)管理學(xué)生成績(jī)的錄入,包括課程編號(hào)、課程名稱(chēng)、學(xué)分、課程內(nèi)容等信息; 學(xué)生信息的修改、刪除、查詢(xún)。三、任務(wù)計(jì)劃考慮到本次課程設(shè)計(jì)是獨(dú)立完成,所以,不需要進(jìn)行細(xì)致的分工,只要對(duì)框架和時(shí)間進(jìn)行一定的規(guī)劃就行時(shí)間計(jì)劃執(zhí)行結(jié)果112月13日查閱相關(guān)資料 準(zhǔn)備好基礎(chǔ)知識(shí)查閱了 JAVASwing, MySQL等方面的相關(guān)資料。212月14日進(jìn)行需求分析得到需求分析總結(jié)。312月14日21日正式設(shè)計(jì)完成
5、代碼設(shè)計(jì)及調(diào)試512月22日完成課程設(shè)計(jì)報(bào)告整理文件,并完成書(shū)面報(bào)告word資料需求分析一、學(xué)生管理系統(tǒng)的發(fā)展現(xiàn)狀經(jīng)過(guò)了一段時(shí)間的發(fā)展,當(dāng)今,各大高校普遍都有了相對(duì)完善的學(xué)生管理系統(tǒng),但在部分中小學(xué)中,這種高效的管理手段,仍未能全面普及。目前已有的學(xué)生管理系統(tǒng)存 在界面和操作相對(duì)繁瑣,實(shí)現(xiàn)成本較高等缺點(diǎn),仍需改進(jìn)。二、系統(tǒng)功能分析由通用的學(xué)生相關(guān)數(shù)據(jù)分析可知,系統(tǒng)包括院系管理、學(xué)生基本信息管理、課程管 理、學(xué)生從成績(jī)管理等主要功能10實(shí)現(xiàn)以上各模塊的功能,需要以下子功能:1數(shù)據(jù)庫(kù)連接的建立與斷開(kāi)2數(shù)據(jù)庫(kù)的數(shù)據(jù)操作,包括插入、查詢(xún)、刪除、修改3. 系統(tǒng)操作界面與數(shù)據(jù)庫(kù)操作相關(guān)聯(lián)三、系統(tǒng)結(jié)構(gòu)框圖從
6、系統(tǒng)功能表述可以看出,該系統(tǒng)可以實(shí)現(xiàn)幾個(gè)功能,根據(jù)這些功能設(shè)計(jì)出系統(tǒng)的 功能模塊如圖表1所示:因各模塊基本功能相近,故本文僅以學(xué)生基本信息管理功能為例圖表1學(xué)生信息管理系統(tǒng)功能模塊圖數(shù)據(jù)庫(kù)設(shè)計(jì)創(chuàng)建數(shù)據(jù)表的結(jié)構(gòu)(以學(xué)生基本信息管理系統(tǒng)為例)1. 主要數(shù)據(jù)項(xiàng)學(xué)號(hào)、姓名、性別、出生年月、所在院系、所在班級(jí)2. 數(shù)據(jù)類(lèi)型及要求為操作方便,均定義為字符串。其中學(xué)號(hào)不得重復(fù)。3. MySQ建表語(yǔ)句create table stude nt (id INT(11) PRIMARY KEY NOT NULL UNIQUE,n ame ARCHAR(20),sex CHAR(1),birthday VARCHA
7、R(20),depart ARCHAR(20),class ARCHAR(20);:、各表功能及其關(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é)生基本信息表包含對(duì)院系信息表的映射系統(tǒng)模塊功能的實(shí)現(xiàn)與界面設(shè)計(jì)系統(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ù)類(lèi)型有所不同,所以本次只對(duì) 學(xué)生基本信息管理的功能進(jìn)行了較為全面的設(shè)計(jì)。由于時(shí)間關(guān)系,其余功能沒(méi)有進(jìn)行
8、具 體設(shè)計(jì)。(具體的在以下說(shuō)明中會(huì)提及)系統(tǒng)界面設(shè)計(jì)如下:模塊名稱(chēng)相關(guān)的類(lèi)登錄界面welcome.class菜單界面Menu .class數(shù)據(jù)庫(kù)管理模塊:模塊名稱(chēng)相關(guān)的類(lèi)數(shù)據(jù)庫(kù)鏈接DbConn ecti on. class學(xué)生信息數(shù)據(jù)庫(kù)管理Stude ntDao.class院系信息數(shù)據(jù)庫(kù)管理DepartDao.class課程信息數(shù)據(jù)庫(kù)管理CourseDao.class成績(jī)信息數(shù)據(jù)庫(kù)管理ScoreDao.class模塊功能界面設(shè)計(jì)如下:模塊名稱(chēng)相關(guān)的類(lèi)子菜單Son_Men u.class添加功能Add_Me nu.class查詢(xún)功能Fin d_Me nu .class刪除功能Delet_Me n
9、u.class修改功能Chan ge Me nu .class歡迎界面1.實(shí)際運(yùn)行效果(圖表2)1.實(shí)際運(yùn)行效果(圖表3)歡迎進(jìn)入學(xué)生信息管理系統(tǒng)!確定圖表2歡迎界面2.實(shí)現(xiàn)方法1)繼承了 JPanel,并在構(gòu)造函數(shù)中建立 JFrame做外框;2)用JLabel顯示歡迎信息內(nèi)容;3)確定按鈕在監(jiān)聽(tīng)到事件后,new出一個(gè)Menu類(lèi);三、主菜單界面2.實(shí)現(xiàn)方法1)繼承JFrame類(lèi),在 內(nèi)部建立的 JPa nel 插入 JButton ;2)定義相應(yīng)按鈕的響 應(yīng)事件,調(diào)用子菜單的不同建立函數(shù)(如 newSon_menu( ).stude ntme nu(););圖表3主菜單界面四、子菜單1. 實(shí)際
10、運(yùn)行效果(錯(cuò)誤!未找到引用源。)圖表4子菜單2. 實(shí)現(xiàn)方法1)建立 JFrame,JTable,JButton 等工具;2)建立數(shù)據(jù)庫(kù)鏈接;3)將數(shù)據(jù)庫(kù)里的數(shù)據(jù)逐個(gè)讀入到JTable類(lèi);4)對(duì)JButton加入ActionListener ,并關(guān)聯(lián)相應(yīng)的功能菜單,如:if (e getA.c匸( ,equals 學(xué)生錄入F f setVisible(false;new .Add Men口門(mén).smciEc匸 add (;五、學(xué)生信息錄入1. 實(shí)際運(yùn)行效果(圖表5)圖表4錄入學(xué)生信息實(shí)現(xiàn)方法1)由輸入的學(xué)生信息構(gòu)造一個(gè)Student類(lèi);2)利用SQL語(yǔ)句,將Student類(lèi)插入到數(shù)據(jù)庫(kù);六、學(xué)生信
11、息查找1. 實(shí)際運(yùn)行效果(圖標(biāo)6 )圖表6查找學(xué)生信息實(shí)現(xiàn)方法1) 由輸入的學(xué)號(hào),利用SQL語(yǔ)句找到相關(guān)數(shù)據(jù),返回一個(gè) Student類(lèi);2) 有則將student的相關(guān)信息顯示到 JTextArea上,沒(méi)有則顯示“學(xué)生信息未找 到”;七、學(xué)生信息刪除1.實(shí)際運(yùn)行效果(圖表7 )圖表7學(xué)生信息刪除2.實(shí)現(xiàn)方法1)應(yīng)用查找功能相似的原理先搜索到要?jiǎng)h除的信息;2)利用SQL語(yǔ)句將找到的信息刪除,并顯示“學(xué)生信息以刪除”八、學(xué)生信息修改1.實(shí)際運(yùn)行效果學(xué)號(hào):|1游存生姓窯:弓運(yùn)字號(hào):1按索取消圖表8學(xué)生信息修改2. 實(shí)現(xiàn)方法1)應(yīng)用查找功能相似的原理先搜索到要修改的信息;2)應(yīng)用刪除功能相似的原理刪
12、除要修改的信息;3)調(diào)用錄入類(lèi),錄入要修改的新信息;課程設(shè)計(jì)心得程序結(jié)構(gòu)設(shè)計(jì)思路培養(yǎng)為了簡(jiǎn)化程序,我并沒(méi)有為每個(gè)窗口都建一個(gè)類(lèi),而是把類(lèi)似的窗口例如student_add ,depart_add等建一個(gè)類(lèi) Add_Menu調(diào)用不同的函數(shù)建立不同窗口,如:student_add (),depart_add ();書(shū)寫(xiě)習(xí)慣的養(yǎng)成好的書(shū)寫(xiě)習(xí)慣是一個(gè)優(yōu)秀程序員的必備品質(zhì)。 在寫(xiě)代碼的時(shí)候要隨時(shí)注意書(shū)寫(xiě)的格 式。女如: 1.賦值語(yǔ)句的“=”的左右應(yīng)該用空格隔開(kāi);a=1 ;改為這樣更為清晰;2. 大括號(hào)一定要對(duì)齊;class public void .三、注意程序簡(jiǎn)潔在逐漸適應(yīng)面向?qū)ο缶幊桃院?。依然?yīng)道保
13、持過(guò)去在編程中的一些好習(xí)慣。使用Vector等,也需要留意效率。不能只顧用法方便總結(jié)系統(tǒng)設(shè)計(jì)過(guò)程中,主要涉及了包括 JAVA基本語(yǔ)法、AWT Java Swing, MySQ等方 面的相關(guān)知識(shí)。設(shè)計(jì)中遇到不少問(wèn)題,到圖書(shū)館查閱了不少資料,向王宋君老師請(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
14、 Swing程序設(shè)計(jì)中國(guó)鐵道出版社,林智揚(yáng)、范明翔、陳錦輝 編 者;4. Java GUI程序設(shè)計(jì)清華大學(xué)出版社,肖剛等編著;5. Java信息系統(tǒng)設(shè)計(jì)與開(kāi)發(fā)實(shí)例機(jī)械工業(yè)出版社,黃明、梁旭、曹利超編著;6. Java范例大全機(jī)械工業(yè)出版社,尹繼平、張帆編著;附錄:項(xiàng)目源代碼一、 數(shù)據(jù)庫(kù)連接(DbConnection.java )package dao;import java.sql.C onn ecti on;import java.sql.DriverMa nager;import java.sql.SQLExcepti on;public class DbConn ecti on publ
15、ic static Conn ecti on getC onn ecti on()Conn ecti on con = n ull;String url = jdbc:mysql:/localhost:3306/java;String userName= root;String password = l057788y;try Class.forName(com.mysql.jdbc.Driver);con = DriverMa nager.getC onn ectio n(url,userName,password);System.out.pr intln(”數(shù)據(jù)庫(kù)連接成功); catch (
16、ClassNotFou ndExcepti on e) / TODO Auto-ge nerated catch blocke.pri ntStackTrace();return n ull; catch (SQLException e) / TODO Auto-ge nerated catch blocke.pri ntStackTrace();return con;public static void closeC onn ecti on(Conn ecti on con) if(con!=n ull)try con. close();con = n ull; catch (SQLExce
17、ption e) / TODO Auto-ge nerated catch block e.pri ntStackTrace();public static void main(String args) getC onn ecti on();學(xué)生信息數(shù)據(jù)庫(kù)管理(Student_Dao.java )package dao;import java.sql.C onn ectio n;import java.sql.PreparedStateme nt;import java.sql.ResultSet;import java.sql.SQLExceptio n;import java.sql.St
18、ateme nt;import java.util.ArrayList;import model.Depart;import model.Stude nt;public class Stude ntDao public boolea n add In fo(Stude nt stude nt) boolea n flag;Connection con = DbCo nn ectio n.getC onn ectio n();PreparedStateme nt ps;Stri ng sql =;/ ResultSet rs;try 用問(wèn)號(hào)代替sql = in sert into stude n
19、t values(?,?,?,?,?,?); / ps = con .prepareStateme nt(sql);ps.setlnt(1, student.getld();ps.setStri ng(2, stude nt.getName();ps.setStri ng(3, stude nt.getSex();ps.setStri ng(4, stude nt.getBor n_date();ps.setStri ng(5, stude nt.getDepart_id();ps.setStri ng(6, stude nt.getClass_ name();ps.execute();Sys
20、tem.out.println(添加了一條記錄);flag = true; catch (SQLExcepti on e) / TODO Auto-ge nerated catch blocke.pri ntStackTrace();flag = false;fin allyDbC onn ectio n.closeC onn ectio n(c on);return flag; public ArrayListvStudent findAII()ArrayListvStude nt stude nts = new ArrayListvStude nt();Connection con = D
21、bCo nn ectio n.getC onn ectio n();Stateme nt sta;ResultSet rs;try sta = con .createStateme nt();從表departrs = sta.executeQuery(SELECT * FROM stude nt); /中查詢(xún)所有數(shù)據(jù)while(rs. next()Stude nt stude nt = new Stude nt();stude nt.setld(rs.getl nt(1);stude nt.setName(rs.getStri ng(2);stude nt.setSex(rs.getStri
22、ng(3);stude nt.setBorn_date(rs.getStri ng(4);stude nt.setDepart_id(rs.getStri ng(5);stude nt.setClassjn ame(rs.getStri ng(6);System.out.pri ntl n(stude nt.getName(); stude nts.add(stude nt);rs.close();sta.close(); catch (SQLExcepti on e) / TODO Auto-ge nerated catch blocke.pri ntStackTrace();fin all
23、yDbC onn ectio n.closeC onn ectio n(c on);return stude nts; public Student findOne(int id)Stude nt stude nt = new Stude nt();Connection con = DbCo nn ectio n.getC onn ectio n();PreparedStateme nt ps;Stri ng sql =;ResultSet rs;try sql = SELECT * FROM stude nt where id=?;ps = con .prepareStateme nt(sq
24、l);ps.set In t(1, id);rs = ps.executeQuery();/ 從表 depart 中查詢(xún)所有數(shù)據(jù)if(rs. next()stude nt.setld(rs.get In t(id); /注意數(shù)據(jù)類(lèi)型要對(duì)應(yīng)stude nt.setName(rs.getStri ng(Name);stude nt.setSex(rs.getStri ng(Sex);stude nt.setBor n_date(rs.getStri ng(birthday);stude nt.setDepart_id(rs.getStri ng(Depart);stude nt.setClass_
25、 name(rs.getStri ng(Class);System.out.pri ntl n( id:+stude nt.getld()+n ame:+stude nt.getName();elseSystem.out.println(沒(méi)有數(shù)據(jù));rs.close();ps.close(); catch (SQLExcepti on e) / TODO Auto-ge nerated catch blocke.pri ntStackTrace();fin allyDbC onn ectio n.closeC onn ectio n(c on);return stude nt;public b
26、oolean deletelnfo(Student student)boolea n flag;Connection con = DbCo nn ectio n.getC onn ectio n();PreparedStateme nt ps;Stri ng sql =;try 用問(wèn)號(hào)代替sql = delete from stude nt where id=?; / ps = con .prepareStateme nt(sql);ps.setInt(1, student.getId();ps.execute();System.out.println(”成功刪除了一條記錄);flag = t
27、rue; catch (SQLExcepti on e) / TODO Auto-ge nerated catch blocke.pri ntStackTrace();flag = false;fin allyDbC onn ectio n.closeC onn ectio n(c on);return flag;三、歡迎界面(Welcome.java)package menu;import java.awt.BorderLayout;import java.awt.F ont;import java.awt.GridLayout;import java.awt.eve nt.MouseAda
28、pter;import java.awt.eve nt.MouseEve nt;import java.awt.eve nt.Wi ndowAdapter;import java.awt.eve nt.Wi ndowEve nt;import javax.swi ng.*;public class Welcome JFrame w = new JFrame(ma nageme ntsystem);JPa nel pl = new JPan el();JPanel p2 = new JPan el();JLabel l = new JLabel(歡迎進(jìn)入學(xué)生信息管理系統(tǒng)!);JButton b
29、= new JButton(”確定);Welcome()w.addWi ndowListe ner(new Win d();b.addMouseListener(new Monitor2();Font font = new Fo nt(”歡迎進(jìn)入學(xué)生信息管理系統(tǒng)!, Fon t.PLAIN, 40);l.setF on t(fo nt);w.add(p1,BorderLayout.CENTER);w.add(p2,BorderLayout.SOUTH);p1.add(l);l.setBou nds(p1.WIDTH/2-100,p1.HEIGHT/2-10,200,20);p2.add(b);
30、b.setBou nds(p2.WIDTH/2-10,p2.HEIGHT/2-6,20,12);w.setBou nds(400, 200, 600, 200);w.setVisible(true);private class Mon itor2 exte nds MouseAdapterpublic void mousePressed(MouseEve nt e) new Me nu();w.setVisible(false);public static void main(String args)new Welcome();private class Wind exte nds Win d
31、owAdapter public void wi ndowClosi ng(Wi ndowEve nt e) w.setVisible(false);System.exit(O);四、主菜單界面 (Menu.java )package menu;import java.awt.*;import java.awt.eve nt.Acti on Eve nt;import java.awt.eve nt.Acti on Liste ner;import java.awt.eve nt.Wi ndowAdapter;import java.awt.eve nt.Wi ndowEve nt;impor
32、t javax.swi ng.*;public class Menu JFrame f = new JFrame(“菜單);JPa nel p = new JPa nel();Me nu()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.addActio nListe
33、 ner(new Mon itor2();ex.addActio nListe ner(new Moni tor2(); b_depart.addActi on Liste ner(new Mon itor2();b_stude nt.addActi on Liste ner(new Mon itor2(); b_course.addActionListener(new Monitor2();f.addWi ndowListe ner( new Win d();f.add(p);p.setLayout (new GridLayout(1,2);JLabel l = new JLabel();J
34、Pa nel p2 = new JPan el();p.add(l);p.add(p2);p2.setLayout (new GridLayout(5,1);p2.add(b_depart);p2.add(b_stude nt);p2.add(b_course);p2.add(b_score);p2.add(ex);f.setBou nds(400,200,400,400);f.setVisible(true);public static void main(String args)new Me nu();private class Wind exte nds Win dowAdapter p
35、ublic void wi ndowClosi ng(Wi ndowEve nt e) f.setVisible(false);System.exit(O);private class Moni tor2 impleme nts Actio nListe ner退岀)public void acti on Performed(Acti on Eve nt e) if(e.getActi on Comma nd().equals(”new Men u();System.exit(O);if(e.getActionCommand().equals(”學(xué)生信息)new Son_men u().stu
36、de ntme nu();f.setVisible(false);i f(e.getActionCommand().equals(院系信息)new Son_men u().departme nu();f.setVisible(false);i f(e.getActionCommand().equals(課程信息)new Son_men u().courseme nu();f.setVisible(false);i f(e.getActionCommand().equals(成績(jī)信息)new Son_men u().scoreme nu();f.setVisible(false);五、子菜單界面
37、(Son_Menu.java)package menu;import java.awt.BorderLayout;import java.awt.GridLayout;import java.awt.eve nt.Acti on Eve nt;import java.awt.eve nt.Acti on Liste ner;import java.util.ArrayList;import java.util.Vector;import javax.swi ng.*;import javax.sw in g.table.DefaultTableModel;import model.Stude
38、nt;import dao.Stude ntDao;public class Son_menu JFrame f ;JPa nel p1 = new JPan el();JPanel p2 = new JPan el();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;Default
39、TableModel tableModel= null; public static void main(String args) new Son_men u().stude ntme nu();/學(xué)生信息菜單public void stude ntme nu()f = new JFrame(學(xué)生信息);ArrayList sca n = new ArrayList(); Vector colu mnN ames = new Vector(); columnNames.add(學(xué)號(hào)); columnNames.add(姓名); columnNames.add(性別);columnNames.a
40、dd(岀生年月”);columnNames.add(學(xué)院代碼”); columnNames.add(所在班級(jí)); tableModel = new DefaultTableModel(colu mnN ames,0); tableModel.addRow(colu mnN ames);Stude ntDao ddao = new Stude ntDao();sca n = ddao.fi ndAll();for(i nt i=0;isca n. size();i+)Vector v = new Vector();Stude nt stude nt = (Stude nt)sca n. get(
41、i); v.add(stude nt.getld();v.add(stude nt.getName();v.add(stude nt.getSex();v.add(stude nt.getBorn_date();v.add(stude nt.getDepart_id();v.add(stude nt.getClass_ name(); tableModel.addRow(v);t = new JTable(tableModel);t.setVisible(true);f.setLayout (new BorderLayout();f.add(p1,BorderLayout.NORTH); f.
42、add(p2,BorderLayout.SOUTH); f.setBou nds(400,200,600,400);p1.add(t);b_add.setActionCommand(學(xué)生錄入); b_delet.setActionCommand(學(xué)生刪除);b_change.setActionCommand(學(xué)生修改); b_find.setActionCommand(學(xué)生查找);b_add.addActi on Liste ner(new Mo ni tor2(); b_delet.addActio nListe ner(new Moni tor2();b_cha nge.addActi o
43、n Liste ner(new Moni tor2(); b_fin d.addActi on Liste ner(new Mo ni tor2(); b_return.addActionListener(new Monitor2(); p2.add(b_add);p2.add(b_delet); p2.add(b_cha nge);p2.add(b_fi nd); p2.add(b_retur n); f.setVisible(true);/院系信息菜單public void departme nu()f = new JFrame(”院系信息);t = new JTable(100,2);t
44、.setVisible(true);f.setLayout (new BorderLayout(); f.add(p1,BorderLayout.NORTH); f.add(p2,BorderLayout.SOUTH); f.setBou nds(400,200,400,400); p1.add(t);b_add.setActionCommand(院系錄入); b_delet.setActionCommand( 院系刪除); b_change.setActionCommand(院系修改); b_find.setActionCommand(院系查找);b_add.addActi on Liste
45、 ner(new Mo ni tor2(); b_delet.addActio nListe ner(new Moni tor2(); b_cha nge.addActi on Liste ner(new Moni tor2(); b_fin d.addActi on Liste ner(new Mo ni tor2(); b_return.addActionListener(new Monitor2(); p2.add(b_add);p2.add(b_delet); p2.add(b_cha nge);p2.add(b_fi nd); p2.add(b_retur n); f.setVisi
46、ble(true);/課程信息菜單public void courseme nu()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.setBou nds(400,200,400,400); p1.add(t);b_add.setActionCommand(課程錄入); b_delet.setActionCommand( 課程刪除);
47、 b_change.setActionCommand(課程修改); b_find.setActionCommand(課程查找);b_add.addActi on Liste ner(new Mo ni tor2(); b_delet.addActio nListe ner(new Moni tor2(); b_cha nge.addActi on Liste ner(new Moni tor2(); b_fin d.addActi on Liste ner(new Moni tor2();b_return.addActio nListe ner( new Mon itor2(); p2.add
48、(b_add);p2.add(b_delet); p2.add(b_cha nge); p2.add(b_fi nd);p2.add(b_retur n); f.setVisible(true);/成績(jī)信息菜單public void scoreme nu()f = new JFrame(”成績(jī)信息);t = new JTable(100,2);t.setVisible(true);f.setLayout (new BorderLayout(); f.add(p1,BorderLayout.NORTH); f.add(p2,BorderLayout.SOUTH); f.setBou nds(40
49、0,200,400,400);p1.add(t); b_add.setActi on Comma nd(” 成績(jī)錄入); b_delet.setActionCommand(成績(jī)刪除);b_cha nge.setActi on Comma nd(”成績(jī)修改);b_find.setActionCommand(成績(jī)查找);b_add.addActi on Liste ner(new Mo ni tor2(); b_delet.addActio nListe ner(new Moni tor2(); b_cha nge.addActi on Liste ner(new Moni tor2(); b_f
50、in d.addActi on Liste ner(new Mo ni tor2(); b_return.addActionListener(new Monitor2(); p2.add(b_add);p2.add(b_delet); p2.add(b_cha nge); p2.add(b_fi nd);p2.add(b_retur n); f.setVisible(true);private class Mon itor2 impleme nts Actio nListe ner public void acti on Performed(Acti on Eve nt e) if(e.get
51、ActionCommand().equals(”返回)f.setVisible(false);new Me nu();if(e.getActionCommand().equals(”學(xué)生錄入)f.setVisible(false);new Add_Me nu().stude nt_add();if(e.getActionCommand().equals(”學(xué)生刪除)f.setVisible(false);new Delet_Me nu().stude nt_delet();if(e.getActionCommand().equals(”學(xué)生修改)f.setVisible(false);new
52、Chan ge_Me nu().stude nt_cha nge();if(e.getActionCommand().equals(”學(xué)生查找)f.setVisible(false);new Fin d_Me nu().stude nt_fin d();六、添加功能(Add_Menu.java)package menu;import java.awt.BorderLayout;import java.awt.GridLayout;import java.awt.eve nt.Acti on Eve nt;import java.awt.eve nt.Acti on Liste ner;import javax.swi ng.*;import model.Stude nt;import dao.Stude ntDao;public class Add_Me nu JFrame add_me nu;JPa nel p1,p2,p11,p12,p13,p14,p15,p16;JLabel I1,I2,I3,I4,
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 商標(biāo)使用權(quán)轉(zhuǎn)讓合同(三):長(zhǎng)期合作
- 簡(jiǎn)易勞動(dòng)合同簡(jiǎn)易合同
- 合同糾紛處理與學(xué)生實(shí)踐活動(dòng)方案
- 水運(yùn)聯(lián)運(yùn)代理合同及條款
- 鋼結(jié)構(gòu)加工承攬合同模板
- 林業(yè)用地承包轉(zhuǎn)讓合同樣本
- 大學(xué)合同審簽表
- 抽紗工藝的環(huán)保與可持續(xù)性考核試卷
- 天然氣開(kāi)采業(yè)的可再生能源轉(zhuǎn)型實(shí)踐與方案考核試卷
- 機(jī)床附件的標(biāo)準(zhǔn)化與規(guī)范化生產(chǎn)考核試卷
- 家校共育之道
- DeepSeek入門(mén)寶典培訓(xùn)課件
- 西安2025年陜西西安音樂(lè)學(xué)院專(zhuān)職輔導(dǎo)員招聘2人筆試歷年參考題庫(kù)附帶答案詳解
- 《作文中間技巧》課件
- 廣東省2025年中考物理仿真模擬卷(深圳)附答案
- 2025屆八省聯(lián)考 新高考適應(yīng)性聯(lián)考英語(yǔ)試題(原卷版)
- 新蘇教版一年級(jí)下冊(cè)數(shù)學(xué)第1單元第3課時(shí)《8、7加幾》作業(yè)
- 2024年山東電力高等專(zhuān)科學(xué)校高職單招職業(yè)技能測(cè)驗(yàn)歷年參考題庫(kù)(頻考版)含答案解析
- 《平面廣告賞析》課件
- 人教鄂教版六年級(jí)下冊(cè)科學(xué)全冊(cè)知識(shí)點(diǎn)
- (正式版)HGT 22820-2024 化工安全儀表系統(tǒng)工程設(shè)計(jì)規(guī)范
評(píng)論
0/150
提交評(píng)論