版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 目錄</b></p><p> 背景和目的.............................................................................2</p><p> 學(xué)生管理系統(tǒng)的發(fā)展現(xiàn)狀................................................
2、.......3</p><p> 系統(tǒng)分析..................................................................................3</p><p> (1)系統(tǒng)功能分析.....................................................................3
3、</p><p> (2)系統(tǒng)結(jié)構(gòu)框圖.....................................................................4</p><p><b> 五、數(shù)據(jù)庫設(shè)計(jì)</b></p><p> (1)創(chuàng)建數(shù)據(jù)表的結(jié)構(gòu)...................................
4、.........................5</p><p> (2)各表功能及其關(guān)系............................................................5</p><p> 六、系統(tǒng)模塊功能的實(shí)現(xiàn)與界面設(shè)計(jì)</p><p> (1) 系統(tǒng)主要模塊......................
5、............................................6</p><p> (2)歡迎界面...........................................................................7</p><p> (3) 主菜單界面................................
6、.....................................7</p><p> (4) 子菜單............................................................................8</p><p> (5) 學(xué)生信息錄入................................
7、...............................8</p><p> (6) 學(xué)生信息查找...............................................................9</p><p> (7) 學(xué)生信息刪除................................................
8、..............</p><p> (8) 學(xué)生信息修改............................................................</p><p> 七、課程設(shè)計(jì)心得體會(huì)</p><p><b> 八、總結(jié)</b></p><p><b>
9、; 九、項(xiàng)目源代碼</b></p><p><b> 背景和目的</b></p><p> 背景:本次課程設(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)的支持。由通用
10、的學(xué)生相關(guān)數(shù)據(jù)分析可知,系統(tǒng)包括院系管理、學(xué)生基本信息管理、課程管理、學(xué)生從成績管理等主要功能。該系統(tǒng)要求使用JAVA和MySQL作為開發(fā)工具和數(shù)據(jù)庫管理系統(tǒng),因此,系統(tǒng)設(shè)計(jì)涉及系統(tǒng)功能設(shè)計(jì)、數(shù)據(jù)庫設(shè)計(jì)和系統(tǒng)界面等幾個(gè)方面內(nèi)容。</p><p> 目的: 了解JAVA語言的特點(diǎn)及使用的范圍,掌握開發(fā)軟件平臺(tái)的搭建; 要求使用JAVA和MySQL開發(fā)一個(gè)學(xué)生信息管理系統(tǒng),系統(tǒng)主要功能如下:&l
11、t;/p><p><b> a)院系信息管理</b></p><p> 院系系統(tǒng)信息的錄入,包括院系編號(hào)、院系名稱等信息;院系信息的修改、刪除、查詢。</p><p> b)學(xué)生基本信息管理</p><p> 學(xué)生基本信息的錄入,包括學(xué)號(hào)、姓名、性別、出生日期、所在院系、班級(jí)等信息;學(xué)生基本信息的修改、刪除、查詢。&
12、lt;/p><p><b> c)課程設(shè)置管理</b></p><p> 課程信息的錄入,包括課程編號(hào)、課程名稱、學(xué)分、課程內(nèi)容等信息;課程信息的修改、刪除、查詢。</p><p><b> d)學(xué)生成績管理</b></p><p> 學(xué)生成績的錄入,包括課程編號(hào)、課程名稱、學(xué)分、課程內(nèi)容等信息
13、;學(xué)生信息的修改、刪除、查詢。</p><p> 學(xué)生管理系統(tǒng)的發(fā)展現(xiàn)狀</p><p> 經(jīng)過了一段時(shí)間的發(fā)展,當(dāng)今,各大高校普遍都有了相對(duì)完善的學(xué)生管理系統(tǒng),但在部分中小學(xué)中,這種高效的管理手段,仍未能全面普及。目前已有的學(xué)生管理系統(tǒng)存在界面和操作相對(duì)繁瑣,實(shí)現(xiàn)成本較高等缺點(diǎn),仍需改進(jìn)。</p><p><b> 系統(tǒng)分析</b>&l
14、t;/p><p><b> 系統(tǒng)功能分析</b></p><p> 由通用的學(xué)生相關(guān)數(shù)據(jù)分析可知,系統(tǒng)包括院系管理、學(xué)生基本信息管理、課程管理、學(xué)生從成績管理等主要功能,實(shí)現(xiàn)以上各模塊的功能,需要以下子功能:</p><p> a.數(shù)據(jù)庫連接的建立與斷開</p><p> b.數(shù)據(jù)庫的數(shù)據(jù)操作,包括插入、查詢、刪除、
15、修改</p><p> c. 系統(tǒng)操作界面與數(shù)據(jù)庫操作相關(guān)聯(lián)</p><p><b> (2)系統(tǒng)結(jié)構(gòu)框圖</b></p><p> 從系統(tǒng)功能表述可以看出,該系統(tǒng)可以實(shí)現(xiàn)幾個(gè)功能,根據(jù)這些功能設(shè)計(jì)出系統(tǒng)的功能模塊如圖表1所示:</p><p> 圖表1 學(xué)生信息管理系統(tǒng)功能模塊圖<
16、/p><p><b> 數(shù)據(jù)庫設(shè)計(jì)</b></p><p> 一、創(chuàng)建數(shù)據(jù)表的結(jié)構(gòu)(以學(xué)生基本信息管理系統(tǒng)為例)</p><p><b> 1.主要數(shù)據(jù)項(xiàng)</b></p><p> 學(xué)號(hào)、姓名、性別、出生年月、所在院系、所在班級(jí)</p><p><b> 2.
17、數(shù)據(jù)類型及要求</b></p><p> 為操作方便,均定義為字符串。其中學(xué)號(hào)不得重復(fù)。</p><p><b> MySQL建表語句</b></p><p> create table student ( </p><p> id INT(11)
18、160;PRIMARY KEY NOT NULL UNIQUE, </p><p> name VARCHAR(20) , </p><p> sex CHAR(1), </p><p> birthday VARCHAR(20), <
19、/p><p> depart VARCHAR(20), </p><p> class VARCHAR(20) </p><p><b> );</b></p><p><b> 各表功能及其關(guān)系</b></p><p> 1.本
20、系統(tǒng)各表分別存儲(chǔ)相應(yīng)數(shù)據(jù)。</p><p> 2.涉及的數(shù)據(jù)表之間相對(duì)獨(dú)立,但仍有少量關(guān)聯(lián)。</p><p> 1)學(xué)生成績表包含對(duì)學(xué)生基本信息表和課程設(shè)置表的映射;</p><p> 2)學(xué)生基本信息表包含對(duì)院系信息表的映射。</p><p> 系統(tǒng)模塊功能的實(shí)現(xiàn)與界面設(shè)計(jì)</p><p><b>
21、 一、系統(tǒng)主要模塊</b></p><p> 本次課程設(shè)計(jì)的主要目的,是通過實(shí)踐,讓我對(duì)所學(xué)到的知識(shí)進(jìn)行考驗(yàn)和鞏固。經(jīng)過一點(diǎn)時(shí)間的了解。設(shè)計(jì)出了系統(tǒng)的總體框架,參看圖表1。</p><p> 由于各模塊的功能及原理基本相同,只是涉及的數(shù)據(jù)類型有所不同,所以本次只對(duì)學(xué)生基本信息管理的功能進(jìn)行了較為全面的設(shè)計(jì)。由于時(shí)間關(guān)系,其余功能沒有進(jìn)行具體設(shè)計(jì)。(具體的在以下說明中會(huì)提及
22、)。</p><p><b> 系統(tǒng)界面設(shè)計(jì)如下:</b></p><p> 模塊名稱 相關(guān)的類</p><p> 登錄界面 welcome.class </p><p> 菜單界面
23、 Menu.class </p><p><b> 數(shù)據(jù)庫管理模塊:</b></p><p> 模塊名稱 相關(guān)的類</p><p> 數(shù)據(jù)庫鏈接 DbConne
24、ction.class </p><p> 學(xué)生信息數(shù)據(jù)庫管理 StudentDao.class </p><p> 模塊功能界面設(shè)計(jì)如下:</p><p> 模塊名稱 相關(guān)的類</p><p> 子菜單
25、 Son_Menu.class </p><p> 添加功能 Add_Menu.class </p><p> 查詢功能 Find_Menu.class </p><p> 刪除
26、功能 Delet_Menu.class </p><p> 修改功能 Change_Menu.class</p><p><b> 二、歡迎界面</b></p><p> 1.實(shí)際運(yùn)行效果(圖表2)</p>
27、<p><b> 圖表2 歡迎界面</b></p><p><b> 2.實(shí)現(xiàn)方法</b></p><p> 1)繼承了JPanel,并在構(gòu)造函數(shù)中建立JFrame做外框;</p><p> 2)用JLabel顯示歡迎信息內(nèi)容;</p><p> 3)確定按鈕在監(jiān)聽到事件后
28、,new出一個(gè)Menu類;</p><p><b> 三、主菜單界面</b></p><p> 1.實(shí)際運(yùn)行效果(圖表3)</p><p> 圖表3 主菜單界面</p><p><b> 2.實(shí)現(xiàn)方法</b></p><p> 1)繼承JFrame類,在內(nèi)部建立的
29、JPanel插入JButton;</p><p> 2)定義相應(yīng)按鈕的響應(yīng)事件,調(diào)用子菜單的不同建立函數(shù)(如new Son_menu().studentmenu(););</p><p><b> 四、子菜單</b></p><p> 1.實(shí)際運(yùn)行效果(圖表4)</p><p> 圖表4 子菜單界面&
30、lt;/p><p><b> 2.實(shí)現(xiàn)方法</b></p><p> 1)建立JFrame,JTable,JButton等工具;</p><p> 2)建立數(shù)據(jù)庫鏈接;</p><p> 3)將數(shù)據(jù)庫里的數(shù)據(jù)逐個(gè)讀入到JTable類;</p><p><b> 五、學(xué)生信息錄入&l
31、t;/b></p><p> 實(shí)際運(yùn)行效果(圖表5)</p><p> 圖表5 學(xué)生信息錄入界面</p><p><b> 實(shí)現(xiàn)方</b></p><p> 1)由輸入的學(xué)生信息構(gòu)造一個(gè)Student類;</p><p> 2)利用SQL語句,將Student類插入到數(shù)據(jù)庫;&l
32、t;/p><p><b> 六、學(xué)生信息查找</b></p><p> 1.實(shí)際運(yùn)行效果(圖表6)</p><p> 圖表6 學(xué)生信息查找界面</p><p><b> 2.實(shí)現(xiàn)方法</b></p><p> 1)由輸入的學(xué)號(hào),利用SQL語句找到相關(guān)數(shù)據(jù),返回一個(gè)St
33、udent類;</p><p> 2)有則將student的相關(guān)信息顯示到JTextArea上,沒有則顯示“學(xué)生信息未找到”。</p><p><b> 七、學(xué)生信息刪除</b></p><p> 1.實(shí)際運(yùn)行效果(圖表7與圖表8的對(duì)比)</p><p> 圖表7 未刪除以前</p><p
34、> 圖表8 刪除以后查找</p><p><b> 2.實(shí)現(xiàn)方法</b></p><p> 1)應(yīng)用查找功能相似的原理先搜索到要?jiǎng)h除的信息;</p><p> 2)利用SQL語句將找到的信息刪除,并顯示“學(xué)生信息以刪除”。</p><p><b> 學(xué)生信息修改</b></
35、p><p> 實(shí)際運(yùn)行效果(圖表9與圖表10的對(duì)比)</p><p> 圖表9 修改以前 圖表10 修改以后</p><p><b> 2.實(shí)現(xiàn)方法</b></p><p> 1)應(yīng)用查找功能相似的原理先搜索到要修改的信息;</p><p&g
36、t; 2)應(yīng)用刪除功能相似的原理刪除要修改的信息;</p><p> 3)調(diào)用錄入類,錄入要修改的新信息;</p><p><b> 課程設(shè)計(jì)心得體會(huì)</b></p><p> 首先是在知道自己要做什么,做哪種程序之后,對(duì)這一領(lǐng)域有一個(gè)大概的了解,也就是在自己所知道的領(lǐng)域內(nèi)建立對(duì)象。</p><p> 其次,要
37、對(duì)所建的包有大致規(guī)劃,需要幾個(gè)包,每個(gè)包中包含哪些類;</p><p> 最后再確定這些類的具體實(shí)現(xiàn)。</p><p><b> 總結(jié)</b></p><p> 這次課程設(shè)計(jì)是采用小組的形式,我們?nèi)齻€(gè)人各司其職,共同合作,都非常好地完成了自己的工作,我覺得這一點(diǎn)是非常好的,也是以后再工作中要繼續(xù)保持的。</p><p&
38、gt; 其次是我們的程序有的部分不是一個(gè)人寫的,就有了這個(gè)編寫程序習(xí)慣的這個(gè)問題,個(gè)人認(rèn)為有一個(gè)好的編寫程序的習(xí)慣是非常好的(最主要的是要寫應(yīng)有的注釋)。</p><p><b> 程序源代碼</b></p><p><b> 數(shù)據(jù)庫連接實(shí)現(xiàn)</b></p><p> package dao; </p>
39、;<p> import java.sql.Connection; </p><p> import java.sql.DriverManager; </p><p> import java.sql.SQLException; </p><p> public class DbConnection { </p><p
40、> public static Connection getConnection(){ </p><p> Connection con = null; </p><p> String url = "jdbc:mysql://localhost:3306/java"; </p><p> String userNam
41、e= "root"; </p><p> String password = "123456"; </p><p><b> try { </b></p><p> Class.forName("com.mysql.jdbc.Driver"); </p
42、><p> con = DriverManager.getConnection(url,userName,password); </p><p> System.out.println("數(shù)據(jù)庫連接成功"); </p><p><b> } </b></p><p> catch (Cl
43、assNotFoundException e) { </p><p> // TODO Auto-generated catch block </p><p> e.printStackTrace(); </p><p> return null; </p><p><b> } </b>
44、;</p><p> catch (SQLException e) { </p><p> // TODO Auto-generated catch block </p><p> e.printStackTrace(); </p><p><b> } </b></p>&
45、lt;p> return con; </p><p><b> } </b></p><p> public static void closeConnection(Connection con){ </p><p> if(con!=null){ </p><p> try {
46、 </p><p> con.close(); </p><p> con = null; </p><p> } catch (SQLException e) { </p><p> // TODO Auto-generated catch block </p><p>
47、 e.printStackTrace(); </p><p><b> } </b></p><p><b> }</b></p><p><b> } </b></p><p> public static void main(String
48、 args[]){ </p><p> getConnection(); </p><p><b> } </b></p><p><b> } </b></p><p> 學(xué)生信息數(shù)據(jù)庫管理(Student_Dao.java)</p><p> p
49、ackage dao; </p><p> import java.sql.Connection; </p><p> import java.sql.PreparedStatement; </p><p> import java.sql.ResultSet; </p><p> import java.sql.SQLExcep
50、tion; </p><p> import java.sql.Statement; </p><p> import java.util.ArrayList; </p><p> import model.Depart; </p><p> import model.Student; </p><p>
51、; public class StudentDao { </p><p> public boolean addInfo(Student student){ </p><p> boolean flag; </p><p> Connection con = DbConnection.getConnection(); </p&
52、gt;<p> PreparedStatement ps; </p><p> String sql = ""; // ResultSet rs; </p><p><b> try {</b></p><p> sql = "insert into student valu
53、es(?,?,?,?,?,?)"; //用問號(hào)代替 </p><p> ps = con.prepareStatement(sql); </p><p> ps.setInt(1, student.getId()); </p><p> ps.setString(2, student.getName()); </p&g
54、t;<p> ps.setString(3, student.getSex()); </p><p> ps.setString(4, student.getBorn_date()); </p><p> ps.setString(5, student.getDepart_id()); </p><p> ps.setStri
55、ng(6, student.getClass_name()); </p><p> ps.execute(); </p><p> System.out.println("添加了一條記錄"); </p><p> flag = true; </p><p><b> } <
56、;/b></p><p> catch (SQLException e) { // TODO Auto-generated catch block </p><p> e.printStackTrace(); </p><p> flag = false; </p><p><b> }&l
57、t;/b></p><p> finally{ </p><p> DbConnection.closeConnection(con); </p><p><b> } </b></p><p> return flag; </p><p><b>
58、 }</b></p><p> public ArrayList<Student> findAll(){ </p><p> ArrayList<Student> students = new ArrayList<Student>(); </p><p> Connection con = DbConne
59、ction.getConnection(); </p><p> Statement sta; </p><p> ResultSet rs; </p><p><b> try { </b></p><p> sta = con.createStatement(); </p
60、><p> rs = sta.executeQuery("SELECT * FROM student"); //從表depart中查詢 所有數(shù)據(jù) </p><p> while(rs.next()){ </p><p> Student student = new Student(); </p><
61、p> student.setId(rs.getInt(1)); </p><p> student.setName(rs.getString(2)); </p><p> student.setSex(rs.getString(3)); </p><p> student.setBorn_date(rs.getString(4)
62、); </p><p> student.setDepart_id(rs.getString(5)); </p><p> student.setClass_name(rs.getString(6)); </p><p> System.out.println(student.getName()); </p&g
63、t;<p> students.add(student); </p><p><b> } </b></p><p> rs.close(); </p><p> sta.close(); </p><p><b> } </b></p>
64、;<p> catch (SQLException e) { // TODO Auto-generated catch block </p><p> e.printStackTrace(); </p><p><b> }</b></p><p> finally{ </p>&l
65、t;p> DbConnection.closeConnection(con); </p><p><b> } </b></p><p> return students; </p><p><b> }</b></p><p> public Student fin
66、dOne(int id){ </p><p> Student student = new Student(); </p><p> Connection con = DbConnection.getConnection();</p><p> PreparedStatement ps; </p><p> Stri
67、ng sql = ""; </p><p> ResultSet rs; </p><p><b> try { </b></p><p> sql = "SELECT * FROM student where id=?"; </p><p> ps =
68、 con.prepareStatement(sql); </p><p> ps.setInt(1, id); </p><p> rs = ps.executeQuery(); //從表depart中查詢所有數(shù)據(jù) </p><p> if(rs.next()){ </p><p> stude
69、nt.setId(rs.getInt("id")); //注意數(shù)據(jù)類型要對(duì)應(yīng) </p><p> student.setName(rs.getString("Name")); </p><p> student.setSex(rs.getString("Sex")); </p><
70、p> student.setBorn_date(rs.getString("birthday")); </p><p> student.setDepart_id(rs.getString("Depart")); </p><p> student.setClass_name(rs.getString("Clas
71、s")); </p><p> System.out.println("id:"+student.getId()+"name:"+student.getName());</p><p><b> }</b></p><p> else{ </p>&l
72、t;p> System.out.println("沒有數(shù)據(jù)"); </p><p><b> } </b></p><p> rs.close(); </p><p> ps.close(); </p><p><b> } </b>&
73、lt;/p><p> catch (SQLException e) { // TODO Auto-generated catch block </p><p> e.printStackTrace(); </p><p><b> }</b></p><p> finally{ </p
74、><p> DbConnection.closeConnection(con); </p><p><b> } </b></p><p> return student; </p><p><b> }</b></p><p> public boo
75、lean deleteInfo(Student student){ </p><p> boolean flag; </p><p> Connection con = DbConnection.getConnection(); </p><p> PreparedStatement ps; </p><p> St
76、ring sql = ""; </p><p> try { </p><p> sql = "delete from student where id=?"; //用問號(hào)代替 </p><p> ps = con.prepareStatement(sql); </p><
77、;p> ps.setInt(1, student.getId()); </p><p> ps.execute(); </p><p> System.out.println("成功刪除了一條記錄"); </p><p> flag = true; </p><p><b&g
78、t; } </b></p><p> catch (SQLException e) { // TODO Auto-generated catch block </p><p> e.printStackTrace(); </p><p> flag = false; </p><p><b
79、> }</b></p><p> finally{ </p><p> DbConnection.closeConnection(con); </p><p><b> } </b></p><p> return flag; </p><p>&
80、lt;b> } </b></p><p><b> }</b></p><p> 歡迎界面(Welcome.java)</p><p> package menu;</p><p> import java.awt.BorderLayout; </p><p> i
81、mport java.awt.Font; </p><p> import java.awt.GridLayout; </p><p> import java.awt.event.MouseAdapter; </p><p> import java.awt.event.MouseEvent; </p><p> import j
82、ava.awt.event.WindowAdapter; </p><p> import java.awt.event.WindowEvent; </p><p> import javax.swing.*; </p><p> public class Welcome {</p><p> JFrame w = new JFram
83、e("managementsystem"); </p><p> JPanel p1 = new JPanel(); </p><p> JPanel p2 = new JPanel(); </p><p> JLabel l = new JLabel("歡迎進(jìn)入學(xué)生信息管理系統(tǒng)!"); &l
84、t;/p><p> JButton b = new JButton("確定"); </p><p> Welcome(){ </p><p> w.addWindowListener(new Wind()); </p><p> b.addMouseListener(new Monitor2(
85、)); </p><p> Font font = new Font( "歡迎進(jìn)入學(xué)生信息管理系統(tǒng)!", Font.PLAIN, 40); </p><p> l.setFont(font); </p><p> w.add(p1,BorderLayout.CENTER); &l
86、t;/p><p> w.add(p2,BorderLayout.SOUTH); </p><p> p1.add(l); </p><p> l.setBounds(p1.WIDTH/2-100,p1.HEIGHT/2-10,200,20); </p><p> p2.add(b); b.set
87、Bounds(p2.WIDTH/2-10,p2.HEIGHT/2-6,20,12); </p><p> w.setBounds(400, 200, 600, 200); </p><p> w.setVisible(true); </p><p><b> } </b></p><
88、p> private class Monitor2 extends MouseAdapter{ </p><p> public void mousePressed(MouseEvent e) { </p><p> new Menu(); </p><p> w.setVisible(false); &
89、lt;/p><p><b> } </b></p><p><b> }</b></p><p> public static void main(String args[]){ </p><p> new Welcome(); </p><p><
90、b> }</b></p><p> private class Wind extends WindowAdapter{ </p><p> public void windowClosing(WindowEvent e) { </p><p> w.setVisible(false); </p><p&g
91、t; System.exit(0); </p><p><b> } </b></p><p><b> } </b></p><p><b> }</b></p><p> 主菜單界面(Menu.java)</p><p>
92、package menu;</p><p> import java.awt.*; </p><p> import java.awt.event.ActionEvent; </p><p> import java.awt.event.ActionListener; </p><p> import java.awt.event.
93、WindowAdapter; </p><p> import java.awt.event.WindowEvent; </p><p> import javax.swing.*; </p><p> public class Menu {</p><p> JFrame f = new JFrame("菜單")
94、; </p><p> JPanel p = new JPanel(); </p><p> Menu(){ </p><p> JButton b_depart = new JButton("院系信息"); </p><p> JButton b_student = new JButton(&q
95、uot;學(xué)生信息"); </p><p> JButton b_course = new JButton("課程信息"); </p><p> JButton b_score = new JButton("成績信息"); </p><p> JButton ex = new JButton(&quo
96、t;退出"); </p><p> b_score.addActionListener(new Monitor2()); </p><p> ex.addActionListener(new Monitor2()); </p><p> b_depart.addActionListener(new Monitor2()); <
97、/p><p> b_student.addActionListener(new Monitor2()); </p><p> b_course.addActionListener(new Monitor2());</p><p> f.addWindowListener(new Wind()); </p><p> f.add
98、(p); </p><p> p.setLayout(new GridLayout(1,2)); </p><p> JLabel l = new JLabel(); </p><p> JPanel p2 = new JPanel(); </p><p> p.add(l); p.add(p2); <
99、;/p><p> p2.setLayout(new GridLayout(5,1)); </p><p> p2.add(b_depart); </p><p> p2.add(b_student); </p><p> p2.add(b_course); </p><p> p2.add(b_s
100、core); </p><p> p2.add(ex); </p><p> f.setBounds(400,200,400,400); </p><p> f.setVisible(true); </p><p><b> } </b></p><p> pub
101、lic static void main(String args[]){ </p><p> new Menu(); </p><p><b> } </b></p><p> private class Wind extends WindowAdapter{ </p><p> publ
102、ic void windowClosing(WindowEvent e) { </p><p> f.setVisible(false); </p><p> System.exit(0); </p><p><b> } </b></p><p><b> } &
103、lt;/b></p><p> private class Monitor2 implements ActionListener{ </p><p> public void actionPerformed(ActionEvent e) { </p><p> if(e.getActionCommand()
104、.equals("退出")){ </p><p> new Menu();</p><p> System.exit(0); </p><p> } </p><p> if(e.getActionCommand().equals(&quo
105、t;學(xué)生信息")){ </p><p> new Son_menu().studentmenu(); </p><p> f.setVisible(false); </p><p> } </p><p> if(e.ge
106、tActionCommand().equals("院系信息")){ </p><p> new Son_menu().departmenu(); </p><p> f.setVisible(false); </p><p> } <
107、;/p><p> if(e.getActionCommand().equals("課程信息")){ </p><p> new Son_menu().coursemenu(); </p><p> f.setVisible(false); </p><p&g
108、t; } </p><p> if(e.getActionCommand().equals("成績信息")){ </p><p> new Son_menu().scoremenu(); </p><p> f.setVisible(false); &
109、lt;/p><p><b> } </b></p><p><b> } </b></p><p><b> } </b></p><p><b> }</b></p><p> 子菜單界面(Son_me
110、nu.java)</p><p> package menu;</p><p> import java.awt.BorderLayout; </p><p> import java.awt.GridLayout; </p><p> import java.awt.event.ActionEvent; </p>&
111、lt;p> import java.awt.event.ActionListener; </p><p> import java.util.ArrayList; </p><p> import java.util.Vector; </p><p> import javax.swing.*; </p><p> im
112、port javax.swing.table.DefaultTableModel; </p><p> import model.Student; </p><p> import dao.StudentDao;</p><p> public class Son_menu {</p><p> JFrame f ; <
113、/p><p> JPanel p1 = new JPanel(); </p><p> JPanel p2 = new JPanel(); </p><p> JButton b_add = new JButton("錄入"); </p><p> JButton b_delet = new JButton
114、("刪除"); </p><p> JButton b_change = new JButton("修改"); </p><p> JButton b_find = new JButton("查找"); </p><p> JButton b_return = new JButton("
115、;返回"); </p><p> JTable t; </p><p> DefaultTableModel tableModel= null; </p><p> public static void main(String args[]){ </p><p> new Son_menu().studentm
116、enu(); </p><p><b> }</b></p><p> //學(xué)生信息菜單 </p><p> public void studentmenu(){ </p><p> f = new JFrame("學(xué)生信息"); </p><p>
117、ArrayList scan = new ArrayList(); </p><p> Vector columnNames = new Vector(); </p><p> columnNames.add("學(xué)號(hào)"); </p><p> columnNames.add("姓名"); </p&g
118、t;<p> columnNames.add("性別"); </p><p> columnNames.add("出生年月"); </p><p> columnNames.add("學(xué)院代碼"); </p><p> columnNames.add("所在班
119、級(jí)");</p><p> tableModel = new DefaultTableModel(columnNames,0); </p><p> tableModel.addRow(columnNames); </p><p> StudentDao ddao = new StudentDao(); </p><p
120、> scan = ddao.findAll(); </p><p> for(int i=0;i<scan.size();i++){ </p><p> Vector v = new Vector(); </p><p> Student student = (Student)scan.get(i); </p&g
121、t;<p> v.add(student.getId()); </p><p> v.add(student.getName()); </p><p> v.add(student.getSex()); </p><p> v.add(student.getBorn_date()); </p><p&
122、gt; v.add(student.getDepart_id()); </p><p> v.add(student.getClass_name()); </p><p> tableModel.addRow(v); </p><p><b> } </b></p><p> t = ne
123、w JTable(tableModel); </p><p> t.setVisible(true); </p><p> f.setLayout(new BorderLayout()); </p><p> f.add(p1,BorderLayout.NORTH); </p><p> f.add(p2,Borde
124、rLayout.SOUTH); </p><p> f.setBounds(400,200,600,400); </p><p> p1.add(t); </p><p> b_add.setActionCommand("學(xué)生錄入"); </p><p> b_delet.setActionCom
125、mand("學(xué)生刪除"); </p><p> b_change.setActionCommand("學(xué)生修改"); </p><p> b_find.setActionCommand("學(xué)生查找"); </p><p> b_add.addActionListener(new Monit
126、or2()); </p><p> b_delet.addActionListener(new Monitor2()); </p><p> b_change.addActionListener(new Monitor2()); </p><p> b_find.addActionListener(new Monitor2()); </p&
127、gt;<p> b_return.addActionListener(new Monitor2()); </p><p> p2.add(b_add); </p><p> p2.add(b_delet); </p><p> p2.add(b_change); </p><p> p2.add(b_f
128、ind); </p><p> p2.add(b_return); </p><p> f.setVisible(true); </p><p><b> }</b></p><p> //院系信息菜單 </p><p> public void departmenu()
129、{ </p><p> f = new JFrame("院系信息");</p><p> t = new JTable(100,2); </p><p> t.setVisible(true); </p><p> f.setLayout(new BorderLayout()); </p
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 學(xué)生成績管理課程設(shè)計(jì)
- 學(xué)生成績管理課程設(shè)計(jì)
- 數(shù)據(jù)結(jié)構(gòu)學(xué)生成績管理課程設(shè)計(jì)報(bào)告
- 學(xué)生成績管理---課程設(shè)計(jì)
- 學(xué)生成績管理系統(tǒng)課程設(shè)計(jì)
- 課程設(shè)計(jì)——學(xué)生成績管理系統(tǒng)
- 課程設(shè)計(jì)---學(xué)生成績管理系統(tǒng)
- 學(xué)生成績管理系統(tǒng)課程設(shè)計(jì)
- 學(xué)生成績管理匯編課程設(shè)計(jì)
- 學(xué)生成績管理系統(tǒng)課程設(shè)計(jì)
- 學(xué)生成績管理系統(tǒng)課程設(shè)計(jì)
- 學(xué)生成績管理系統(tǒng)課程設(shè)計(jì)
- 匯編課程設(shè)計(jì)---學(xué)生成績管理
- 學(xué)生成績管理系統(tǒng) 課程設(shè)計(jì)
- 課程設(shè)計(jì)--學(xué)生成績管理系統(tǒng)
- 學(xué)生成績管理系統(tǒng)課程設(shè)計(jì)
- 課程設(shè)計(jì)-- 學(xué)生成績管理系統(tǒng)
- 學(xué)生成績管理系統(tǒng)課程設(shè)計(jì)
- 成績管理課程設(shè)計(jì)報(bào)告
- mis成績管理課程設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論