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

下載本文檔

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

文檔簡(jiǎn)介

1、<p><b>  目 錄</b></p><p><b>  概述3</b></p><p><b>  一、課題介紹3</b></p><p>  二、目的和要求3</p><p><b>  三、任務(wù)計(jì)劃3</b></

2、p><p><b>  需求分析5</b></p><p>  一、學(xué)生管理系統(tǒng)的發(fā)展現(xiàn)狀5</p><p>  二、系統(tǒng)功能分析5</p><p>  三、系統(tǒng)結(jié)構(gòu)框圖5</p><p><b>  數(shù)據(jù)庫(kù)設(shè)計(jì)7</b></p><p>

3、  一、創(chuàng)建數(shù)據(jù)表的結(jié)構(gòu)7</p><p>  二、各表功能及其關(guān)系7</p><p>  系統(tǒng)模塊功能的實(shí)現(xiàn)與界面設(shè)計(jì)8</p><p>  一、系統(tǒng)主要模塊8</p><p><b>  二、歡迎界面9</b></p><p>  三、主菜單界面9</p>

4、<p><b>  四、子菜單10</b></p><p>  五、學(xué)生信息錄入11</p><p>  六、學(xué)生信息查找12</p><p>  七、學(xué)生信息刪除13</p><p>  八、學(xué)生信息修改14</p><p><b>  課程設(shè)計(jì)心得15

5、</b></p><p>  一、程序結(jié)構(gòu)設(shè)計(jì)培養(yǎng)15</p><p>  二、書寫習(xí)慣養(yǎng)成15</p><p>  三、注意程序簡(jiǎn)潔15</p><p><b>  總結(jié)16</b></p><p><b>  參考文獻(xiàn)17</b></p&

6、gt;<p>  附錄:項(xiàng)目源代碼18</p><p>  一、數(shù)據(jù)庫(kù)連接(DbConnection.java)18</p><p>  二、學(xué)生信息數(shù)據(jù)庫(kù)管理(Student_Dao.java)18</p><p>  三、歡迎界面(Welcome.java)23</p><p>  四、主菜單界面(Menu.

7、java)24</p><p>  五、子菜單界面(Son_Menu.java)27</p><p>  六、添加功能(Add_Menu.java)31</p><p>  七、查找功能(Find_Menu.java)34</p><p>  八、刪除功能(Delet_Menu.java)36</p><

8、p>  九、修改功能(Change_Menu.java)38</p><p><b>  概述</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ì)

9、本校學(xué)生的基本信息和學(xué)習(xí)情況進(jìn)行管理,另一方面,較完整的學(xué)校信息管理系統(tǒng)同樣也需要有學(xué)生信息管理系統(tǒng)的支持。</p><p>  由通用的學(xué)生相關(guān)數(shù)據(jù)分析可知,系統(tǒng)包括院系管理、學(xué)生基本信息管理、課程管理、學(xué)生從成績(jī)管理等主要功能。</p><p>  該系統(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)容。<

10、;/p><p><b>  目的和要求</b></p><p>  了解JAVA語(yǔ)言的特點(diǎn)及使用的范圍,掌握開發(fā)軟件平臺(tái)的搭建。</p><p>  要求使用JAVA和MySQL開發(fā)一個(gè)學(xué)生信息管理系統(tǒng),系統(tǒng)主要功能如下:</p><p><b>  院系信息管理</b></p><

11、p>  院系系統(tǒng)信息的錄入,包括院系編號(hào)、院系名稱等信息;</p><p>  院系信息的修改、刪除、查詢。</p><p><b>  學(xué)生基本信息管理</b></p><p>  學(xué)生基本信息的錄入,包括學(xué)號(hào)、姓名、性別、出生日期、所在院系、班級(jí)等信息;</p><p>  學(xué)生基本信息的修改、刪除、查詢。&l

12、t;/p><p><b>  課程設(shè)置管理</b></p><p>  課程信息的錄入,包括課程編號(hào)、課程名稱、學(xué)分、課程內(nèi)容等信息;</p><p>  課程信息的修改、刪除、查詢。</p><p><b>  學(xué)生成績(jī)管理</b></p><p>  學(xué)生成績(jī)的錄入,包括課程

13、編號(hào)、課程名稱、學(xué)分、課程內(nèi)容等信息;</p><p>  學(xué)生信息的修改、刪除、查詢。</p><p><b>  任務(wù)計(jì)劃</b></p><p>  考慮到本次課程設(shè)計(jì)是獨(dú)立完成,所以,不需要進(jìn)行細(xì)致的分工,只要對(duì)框架和時(shí)間進(jìn)行一定的規(guī)劃就行。</p><p><b>  需求分析</b>&l

14、t;/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></p><p

15、>  由通用的學(xué)生相關(guān)數(shù)據(jù)分析可知,系統(tǒng)包括院系管理、學(xué)生基本信息管理、課程管理、學(xué)生從成績(jī)管理等主要功能。</p><p>  實(shí)現(xiàn)以上各模塊的功能,需要以下子功能:</p><p>  1數(shù)據(jù)庫(kù)連接的建立與斷開</p><p>  2數(shù)據(jù)庫(kù)的數(shù)據(jù)操作,包括插入、查詢、刪除、修改</p><p>  系統(tǒng)操作界面與數(shù)據(jù)庫(kù)操作相關(guān)聯(lián)&l

16、t;/p><p><b>  系統(tǒng)結(jié)構(gòu)框圖</b></p><p>  從系統(tǒng)功能表述可以看出,該系統(tǒng)可以實(shí)現(xiàn)幾個(gè)功能,根據(jù)這些功能設(shè)計(jì)出系統(tǒng)的功能模塊如 圖表 1所示:</p><p><b>  數(shù)據(jù)庫(kù)設(shè)計(jì)</b></p><p><b>  創(chuàng)建數(shù)據(jù)表的結(jié)構(gòu)</b></

17、p><p>  (以學(xué)生基本信息管理系統(tǒng)為例)</p><p><b>  主要數(shù)據(jù)項(xiàng)</b></p><p>  學(xué)號(hào)、姓名、性別、出生年月、所在院系、所在班級(jí)</p><p><b>  數(shù)據(jù)類型及要求</b></p><p>  為操作方便,均定義為字符串。其中學(xué)號(hào)不得重復(fù)

18、。</p><p><b>  MySQL建表語(yǔ)句</b></p><p><b>  各表功能及其關(guān)系</b></p><p>  本系統(tǒng)各表分別存儲(chǔ)相應(yīng)數(shù)據(jù)。</p><p>  涉及的數(shù)據(jù)表之間相對(duì)獨(dú)立,但仍有少量關(guān)聯(lián)。</p><p>  學(xué)生成績(jī)表 包含對(duì) 學(xué)生基本

19、信息表 和 課程設(shè)置表 的映射</p><p>  學(xué)生基本信息表 包含對(duì) 院系信息表 的映射</p><p>  系統(tǒng)模塊功能的實(shí)現(xiàn)與界面設(shè)計(jì)</p><p><b>  系統(tǒng)主要模塊</b></p><p>  本次課程設(shè)計(jì)的主要目的,是通過實(shí)踐,讓我對(duì)所學(xué)到的知識(shí)進(jìn)行考驗(yàn)和鞏固。經(jīng)過一點(diǎn)時(shí)間的了解。設(shè)計(jì)出了系統(tǒng)的總

20、體框架,參看圖表 1。</p><p>  由于各模塊的功能及原理基本相同,只是涉及的數(shù)據(jù)類型有所不同,所以本次只對(duì)學(xué)生基本信息管理的功能進(jìn)行了較為全面的設(shè)計(jì)。由于時(shí)間關(guān)系,其余功能沒有進(jìn)行具體設(shè)計(jì)。(具體的在以下說明中會(huì)提及)</p><p><b>  系統(tǒng)界面設(shè)計(jì)如下:</b></p><p><b>  數(shù)據(jù)庫(kù)管理模塊:<

21、;/b></p><p>  模塊功能界面設(shè)計(jì)如下:</p><p><b>  歡迎界面</b></p><p>  實(shí)際運(yùn)行效果(圖表 2)</p><p><b>  實(shí)現(xiàn)方法</b></p><p>  繼承了JPanel,并在構(gòu)造函數(shù)中建立JFrame做外框;

22、</p><p>  用JLabel顯示歡迎信息內(nèi)容;</p><p>  確定按鈕在監(jiān)聽到事件后,new出一個(gè)Menu類;</p><p><b>  主菜單界面</b></p><p>  實(shí)際運(yùn)行效果(圖表 3)</p><p><b>  實(shí)現(xiàn)方法</b></p

23、><p>  繼承JFrame類,在內(nèi)部建立的JPanel插入JButton;</p><p>  定義相應(yīng)按鈕的響 應(yīng)事件,調(diào)用子菜單的不同建立函數(shù)(如new Son_menu().studentmenu(););</p><p><b>  子菜單</b></p><p>  實(shí)際運(yùn)行效果(圖表 4)</p>

24、<p><b>  實(shí)現(xiàn)方法</b></p><p>  建立JFrame,JTable,JButton等工具;</p><p><b>  建立數(shù)據(jù)庫(kù)鏈接;</b></p><p>  將數(shù)據(jù)庫(kù)里的數(shù)據(jù)逐個(gè)讀入到JTable類;</p><p>  對(duì)JButton加入ActionL

25、istener,并關(guān)聯(lián)相應(yīng)的功能菜單,如:</p><p><b>  學(xué)生信息錄入</b></p><p>  實(shí)際運(yùn)行效果(圖表5)</p><p><b>  實(shí)現(xiàn)方法</b></p><p>  由輸入的學(xué)生信息構(gòu)造一個(gè)Student類;</p><p>  利用SQ

26、L語(yǔ)句,將Student類插入到數(shù)據(jù)庫(kù);</p><p><b>  學(xué)生信息查找</b></p><p>  1.實(shí)際運(yùn)行效果(圖標(biāo) 6)</p><p><b>  實(shí)現(xiàn)方法</b></p><p>  1)由輸入的學(xué)號(hào),利用SQL語(yǔ)句找到相關(guān)數(shù)據(jù),返回一個(gè)Student類;</p>

27、<p>  2)有則將student的相關(guān)信息顯示到JTextArea上,沒有則顯示“學(xué)生信息未找到”;</p><p><b>  學(xué)生信息刪除</b></p><p>  實(shí)際運(yùn)行效果(圖表 7)</p><p><b>  實(shí)現(xiàn)方法</b></p><p>  應(yīng)用查找功能相似的

28、原理先搜索到要?jiǎng)h除的信息;</p><p>  利用SQL語(yǔ)句將找到的信息刪除,并顯示“學(xué)生信息以刪除”。</p><p><b>  學(xué)生信息修改</b></p><p><b>  實(shí)際運(yùn)行效果</b></p><p><b>  實(shí)現(xiàn)方法</b></p>&

29、lt;p>  應(yīng)用查找功能相似的原理先搜索到要修改的信息;</p><p>  應(yīng)用刪除功能相似的原理刪除要修改的信息;</p><p>  調(diào)用錄入類,錄入要修改的新信息;</p><p><b>  課程設(shè)計(jì)心得</b></p><p>  程序結(jié)構(gòu)設(shè)計(jì)思路培養(yǎng)</p><p>  為了

30、簡(jiǎn)化程序,我并沒有為每個(gè)窗口都建一個(gè)類,而是把類似的窗口例如student_add,depart_add等建一個(gè)類Add_Menu,調(diào)用不同的函數(shù)建立不同窗口,如:student_add(),depart_add();</p><p><b>  書寫習(xí)慣的養(yǎng)成</b></p><p>  好的書寫習(xí)慣是一個(gè)優(yōu)秀程序員的必備品質(zhì)。在寫代碼的時(shí)候要隨時(shí)注意書寫的格式。&

31、lt;/p><p>  如:1.賦值語(yǔ)句的“=”的左右應(yīng)該用空格隔開;</p><p><b>  a=1;</b></p><p><b>  改為</b></p><p><b>  a = 1;</b></p><p><b>  這樣更

32、為清晰;</b></p><p>  2.大括號(hào)一定要對(duì)齊;</p><p><b>  class {</b></p><p><b>  ……</b></p><p>  public void …..{</p><p><b>  …….</

33、b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  注意程序簡(jiǎn)潔</b></p><p>  在逐漸適應(yīng)面向?qū)ο缶幊桃院蟆R廊粦?yīng)道保持過去在編程中的一些好習(xí)慣。使用Vector等,也需要留意效率。不能只顧用法方

34、便。</p><p><b>  總結(jié)</b></p><p>  系統(tǒng)設(shè)計(jì)過程中,主要涉及了包括JAVA基本語(yǔ)法、AWT,Java Swing,MySQL等方面的相關(guān)知識(shí)。設(shè)計(jì)中遇到不少問題,到圖書館查閱了不少資料,向王宋君老師請(qǐng)教過不少問題,老師都一一細(xì)心解答,非常感謝。由于時(shí)間倉(cāng)促,原本設(shè)想的功能還沒有一一實(shí)現(xiàn),待進(jìn)一步完善。</p><p&

35、gt;<b>  參考文獻(xiàn)</b></p><p>  《Thinking in Java(Java編程思想)》第四版,機(jī)械工業(yè)出版社,【美】Bruce Eckel著,陳昊鵬譯;</p><p>  《精通Java Swing程序設(shè)計(jì)》中國(guó)鐵道出版社,林智揚(yáng)、范明翔、陳錦輝 編著;</p><p>  《深入淺出Java Swing程序設(shè)計(jì)》中

36、國(guó)鐵道出版社,林智揚(yáng)、范明翔、陳錦輝 編著;</p><p>  《Java GUI程序設(shè)計(jì)》清華大學(xué)出版社,肖剛 等編著;</p><p>  《Java信息系統(tǒng)設(shè)計(jì)與開發(fā)實(shí)例》機(jī)械工業(yè)出版社,黃明、梁旭、曹利超 編著;</p><p>  《Java范例大全》機(jī)械工業(yè)出版社,尹繼平、張帆 編著;</p><p><b>  附錄

37、:項(xiàng)目源代碼</b></p><p>  數(shù)據(jù)庫(kù)連接(DbConnection.java)</p><p>  package dao;</p><p>  import java.sql.Connection;</p><p>  import java.sql.DriverManager;</p><p&g

38、t;  import java.sql.SQLException;</p><p>  public class DbConnection {</p><p>  public static Connection getConnection(){</p><p>  Connection con = null;</p><p>  Strin

39、g url = "jdbc:mysql://localhost:3306/java";</p><p>  String userName= "root";</p><p>  String password = "l057788y";</p><p><b>  try {</b>&

40、lt;/p><p>  Class.forName("com.mysql.jdbc.Driver");</p><p>  con = DriverManager.getConnection(url,userName,password);</p><p>  System.out.println("數(shù)據(jù)庫(kù)連接成功");</p

41、><p>  } catch (ClassNotFoundException e) {</p><p>  // TODO Auto-generated catch block</p><p>  e.printStackTrace();</p><p>  return null;</p><p>  } catch (

42、SQLException e) {</p><p>  // TODO Auto-generated catch block</p><p>  e.printStackTrace();</p><p><b>  }</b></p><p>  return con;</p><p><b

43、>  }</b></p><p>  public static void closeConnection(Connection con){</p><p>  if(con!=null){</p><p><b>  try {</b></p><p>  con.close();</p>

44、<p>  con = null;</p><p>  } catch (SQLException e) {</p><p>  // TODO Auto-generated catch block</p><p>  e.printStackTrace();</p><p><b>  }</b><

45、/p><p><b>  }</b></p><p><b>  }</b></p><p>  public static void main(String args[]){</p><p>  getConnection();</p><p><b>  }<

46、/b></p><p><b>  }</b></p><p><b>  }</b></p><p>  學(xué)生信息數(shù)據(jù)庫(kù)管理(Student_Dao.java)</p><p>  package dao;</p><p>  import java.sql.Con

47、nection;</p><p>  import java.sql.PreparedStatement;</p><p>  import java.sql.ResultSet;</p><p>  import java.sql.SQLException;</p><p>  import java.sql.Statement;</

48、p><p>  import java.util.ArrayList;</p><p>  import model.Depart;</p><p>  import model.Student;</p><p>  public class StudentDao {</p><p>  public boolean ad

49、dInfo(Student student){</p><p>  boolean flag;</p><p>  Connection con = DbConnection.getConnection();</p><p>  PreparedStatement ps;</p><p>  String sql = ""

50、;</p><p>  //ResultSet rs;</p><p><b>  try {</b></p><p>  sql = "insert into student values(?,?,?,?,?,?)"; //用問號(hào)代替</p><p>  ps = con.prepareStat

51、ement(sql);</p><p>  ps.setInt(1, student.getId());</p><p>  ps.setString(2, student.getName());</p><p>  ps.setString(3, student.getSex());</p><p>  ps.setString(4, st

52、udent.getBorn_date());</p><p>  ps.setString(5, student.getDepart_id());</p><p>  ps.setString(6, student.getClass_name());</p><p>  ps.execute();</p><p>  System.out.p

53、rintln("添加了一條記錄");</p><p>  flag = true;</p><p>  } catch (SQLException e) {</p><p>  // TODO Auto-generated catch block</p><p>  e.printStackTrace();</p&g

54、t;<p>  flag = false;</p><p><b>  }finally{</b></p><p>  DbConnection.closeConnection(con);</p><p><b>  }</b></p><p>  return flag;</

55、p><p><b>  }</b></p><p>  public ArrayList<Student> findAll(){</p><p>  ArrayList<Student> students = new ArrayList<Student>();</p><p>  Conn

56、ection con = DbConnection.getConnection();</p><p>  Statement sta;</p><p>  ResultSet rs;</p><p><b>  try {</b></p><p>  sta = con.createStatement();</p&

57、gt;<p>  rs = sta.executeQuery("SELECT * FROM student"); //從表depart中查詢所有數(shù)據(jù)</p><p>  while(rs.next()){</p><p>  Student student = new Student();</p><p>  student.se

58、tId(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));</p><p>  student

59、.setDepart_id(rs.getString(5));</p><p>  student.setClass_name(rs.getString(6));</p><p>  System.out.println(student.getName());</p><p>  students.add(student);</p><p>

60、<b>  }</b></p><p>  rs.close();</p><p>  sta.close();</p><p>  } catch (SQLException e) {</p><p>  // TODO Auto-generated catch block</p><p>  

61、e.printStackTrace();</p><p><b>  }finally{</b></p><p>  DbConnection.closeConnection(con);</p><p><b>  }</b></p><p>  return students;</p>

62、<p><b>  }</b></p><p>  public Student findOne(int id){</p><p>  Student student = new Student();</p><p>  Connection con = DbConnection.getConnection();</p>

63、;<p>  PreparedStatement ps;</p><p>  String sql = "";</p><p>  ResultSet rs;</p><p><b>  try {</b></p><p>  sql = "SELECT * FROM stud

64、ent where id=?";</p><p>  ps = con.prepareStatement(sql);</p><p>  ps.setInt(1, id);</p><p>  rs = ps.executeQuery(); //從表depart中查詢所有數(shù)據(jù)</p><p>  if(rs.next()){

65、</p><p>  student.setId(rs.getInt("id")); //注意數(shù)據(jù)類型要對(duì)應(yīng)</p><p>  student.setName(rs.getString("Name"));</p><p>  student.setSex(rs.getString("Sex"));<

66、;/p><p>  student.setBorn_date(rs.getString("birthday"));</p><p>  student.setDepart_id(rs.getString("Depart"));</p><p>  student.setClass_name(rs.getString("C

67、lass"));</p><p>  System.out.println("id:"+student.getId()+" name:"+student.getName());</p><p><b>  }else{</b></p><p>  System.out.println(&quo

68、t;沒有數(shù)據(jù)");</p><p><b>  }</b></p><p>  rs.close();</p><p>  ps.close();</p><p>  } catch (SQLException e) {</p><p>  // TODO Auto-generated

69、catch block</p><p>  e.printStackTrace();</p><p><b>  }finally{</b></p><p>  DbConnection.closeConnection(con);</p><p><b>  }</b></p><

70、;p>  return student;</p><p><b>  }</b></p><p>  public boolean deleteInfo(Student student){</p><p>  boolean flag;</p><p>  Connection con = DbConnection

71、.getConnection();</p><p>  PreparedStatement ps;</p><p>  String sql = "";</p><p><b>  try {</b></p><p>  sql = "delete from student where i

72、d=?"; //用問號(hào)代替</p><p>  ps = con.prepareStatement(sql);</p><p>  ps.setInt(1, student.getId());</p><p>  ps.execute();</p><p>  System.out.println("成功刪除了一條記錄&q

73、uot;);</p><p>  flag = true;</p><p>  } catch (SQLException e) {</p><p>  // TODO Auto-generated catch block</p><p>  e.printStackTrace();</p><p>  flag =

74、 false;</p><p><b>  }finally{</b></p><p>  DbConnection.closeConnection(con);</p><p><b>  }</b></p><p>  return flag;</p><p><b&

75、gt;  }</b></p><p><b>  }</b></p><p>  歡迎界面(Welcome.java)</p><p>  package menu;</p><p>  import java.awt.BorderLayout;</p><p>  import ja

76、va.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 java.awt.event

77、.WindowAdapter;</p><p>  import java.awt.event.WindowEvent;</p><p>  import javax.swing.*;</p><p>  public class Welcome {</p><p>  JFrame w = new JFrame("manageme

78、ntsystem");</p><p>  JPanel p1 = new JPanel(); </p><p>  JPanel p2 = new JPanel(); </p><p>  JLabel l = new JLabel("歡迎進(jìn)入學(xué)生信息管理系統(tǒng)!");</p><p>  JButton b =

79、 new JButton("確定");</p><p>  Welcome(){</p><p>  w.addWindowListener(new Wind());</p><p>  b.addMouseListener(new Monitor2());</p><p>  Font font = new

80、 Font( "歡迎進(jìn)入學(xué)生信息管理系統(tǒng)!", Font.PLAIN, 40); </p><p>  l.setFont(font);</p><p>  w.add(p1,BorderLayout.CENTER);</p><p>  w.add(p2,BorderLayout.SOUTH);</p><p>

81、;  p1.add(l);</p><p>  l.setBounds(p1.WIDTH/2-100,p1.HEIGHT/2-10,200,20); </p><p>  p2.add(b);</p><p>  b.setBounds(p2.WIDTH/2-10,p2.HEIGHT/2-6,20,12);</p><p>  w.se

82、tBounds(400, 200, 600, 200);</p><p>  w.setVisible(true);</p><p><b>  }</b></p><p>  private class Monitor2 extends MouseAdapter{</p><p>  public void mouse

83、Pressed(MouseEvent e) {</p><p>  new Menu();</p><p>  w.setVisible(false);</p><p><b>  }</b></p><p><b>  }</b></p><p>  public stat

84、ic void main(String args[]){</p><p>  new Welcome();</p><p><b>  }</b></p><p>  private class Wind extends WindowAdapter{</p><p>  public void windowClosing

85、(WindowEvent e) {</p><p>  w.setVisible(false);</p><p>  System.exit(0);</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }&l

86、t;/b></p><p>  主菜單界面 (Menu.java) </p><p>  package menu;</p><p>  import java.awt.*;</p><p>  import java.awt.event.ActionEvent;</p><p>  import java.a

87、wt.event.ActionListener;</p><p>  import java.awt.event.WindowAdapter;</p><p>  import java.awt.event.WindowEvent;</p><p>  import javax.swing.*;</p><p>  public class

88、Menu {</p><p>  JFrame f = new JFrame("菜單");</p><p>  JPanel p = new JPanel();</p><p><b>  Menu(){</b></p><p>  JButton b_depart = new JButton(&qu

89、ot;院系信息");</p><p>  JButton b_student = new JButton("學(xué)生信息");</p><p>  JButton b_course = new JButton("課程信息");</p><p>  JButton b_score = new JButton("成

90、績(jī)信息");</p><p>  JButton ex = new JButton("退出");</p><p>  b_score.addActionListener(new Monitor2());</p><p>  ex.addActionListener(new Monitor2());</p><p>

91、;  b_depart.addActionListener(new Monitor2());</p><p>  b_student.addActionListener(new Monitor2());</p><p>  b_course.addActionListener(new Monitor2());</p><p>  f.addWindowListene

92、r(new Wind());</p><p><b>  f.add(p);</b></p><p>  p.setLayout(new GridLayout(1,2));</p><p>  JLabel l = new JLabel();</p><p>  JPanel p2 = new JPanel();<

93、/p><p><b>  p.add(l);</b></p><p>  p.add(p2);</p><p>  p2.setLayout(new GridLayout(5,1));</p><p>  p2.add(b_depart);</p><p>  p2.add(b_student);&l

94、t;/p><p>  p2.add(b_course);</p><p>  p2.add(b_score);</p><p>  p2.add(ex);</p><p>  f.setBounds(400,200,400,400);</p><p>  f.setVisible(true);</p><

95、;p><b>  }</b></p><p>  public static void main(String args[]){</p><p>  new Menu();</p><p><b>  }</b></p><p>  private class Wind extends Win

96、dowAdapter{</p><p>  public void windowClosing(WindowEvent e) {</p><p>  f.setVisible(false);</p><p>  System.exit(0);</p><p><b>  }</b></p><p&g

97、t;<b>  }</b></p><p>  private class Monitor2 implements ActionListener{</p><p>  public void actionPerformed(ActionEvent e) {</p><p>  if(e.getActionCommand().equals(&qu

98、ot;退出")){</p><p>  new Menu();</p><p>  System.exit(0); </p><p><b>  }</b></p><p>  if(e.getActionCommand().equals("學(xué)生信息")){</p>&

99、lt;p>  new Son_menu().studentmenu();</p><p>  f.setVisible(false); </p><p><b>  }</b></p><p>  if(e.getActionCommand().equals("院系信息")){</p><p

100、>  new Son_menu().departmenu();</p><p>  f.setVisible(false); </p><p><b>  }</b></p><p>  if(e.getActionCommand().equals("課程信息")){</p><p> 

101、 new Son_menu().coursemenu();</p><p>  f.setVisible(false); </p><p><b>  }</b></p><p>  if(e.getActionCommand().equals("成績(jī)信息")){</p><p>  new

102、Son_menu().scoremenu();</p><p>  f.setVisible(false); </p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>

103、;<b>  }</b></p><p>  子菜單界面(Son_Menu.java)</p><p>  package menu;</p><p>  import java.awt.BorderLayout;</p><p>  import java.awt.GridLayout;</p><

104、p>  import java.awt.event.ActionEvent;</p><p>  import java.awt.event.ActionListener;</p><p>  import java.util.ArrayList;</p><p>  import java.util.Vector;</p><p> 

105、 import javax.swing.*;</p><p>  import javax.swing.table.DefaultTableModel;</p><p>  import model.Student;</p><p>  import dao.StudentDao;</p><p>  public class Son_men

106、u {</p><p>  JFrame f ;</p><p>  JPanel p1 = new JPanel();</p><p>  JPanel p2 = new JPanel();</p><p>  JButton b_add = new JButton("錄入");</p><p>

107、;  JButton b_delet = new JButton("刪除");</p><p>  JButton b_change = new JButton("修改");</p><p>  JButton b_find = new JButton("查找");</p><p>  JButton b_

108、return = new JButton("返回");</p><p><b>  JTable t;</b></p><p>  DefaultTableModel tableModel= null;</p><p>  public static void main(String args[]){</p>

109、<p>  new Son_menu().studentmenu();</p><p><b>  }</b></p><p><b>  //學(xué)生信息菜單</b></p><p>  public void studentmenu(){</p><p>  f = new JFrame

110、("學(xué)生信息");</p><p>  ArrayList scan = new ArrayList();</p><p>  Vector columnNames = new Vector();</p><p>  columnNames.add("學(xué)號(hào)");</p><p>  columnName

111、s.add("姓名");</p><p>  columnNames.add("性別");</p><p>  columnNames.add("出生年月");</p><p>  columnNames.add("學(xué)院代碼");</p><p>  column

112、Names.add("所在班級(jí)");</p><p>  tableModel = new DefaultTableModel(columnNames,0);</p><p>  tableModel.addRow(columnNames);</p><p>  StudentDao ddao = new StudentDao();</p&

113、gt;<p>  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><

114、;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>  v.add(student.getD

115、epart_id());</p><p>  v.add(student.getClass_name());</p><p>  tableModel.addRow(v);</p><p><b>  }</b></p><p>  t = new JTable(tableModel);</p><p

116、>  t.setVisible(true);</p><p>  f.setLayout(new BorderLayout());</p><p>  f.add(p1,BorderLayout.NORTH);</p><p>  f.add(p2,BorderLayout.SOUTH);</p><p>  f.setBounds(4

117、00,200,600,400);</p><p>  p1.add(t);</p><p>  b_add.setActionCommand("學(xué)生錄入");</p><p>  b_delet.setActionCommand("學(xué)生刪除");</p><p>  b_change.setAction

118、Command("學(xué)生修改");</p><p>  b_find.setActionCommand("學(xué)生查找");</p><p>  b_add.addActionListener(new Monitor2());</p><p>  b_delet.addActionListener(new Monitor2());&

119、lt;/p><p>  b_change.addActionListener(new Monitor2());</p><p>  b_find.addActionListener(new Monitor2());</p><p>  b_return.addActionListener(new Monitor2());</p><p>  p2

120、.add(b_add);</p><p>  p2.add(b_delet);</p><p>  p2.add(b_change);</p><p>  p2.add(b_find);</p><p>  p2.add(b_return);</p><p>  f.setVisible(true);</p>

121、;<p><b>  }</b></p><p><b>  //院系信息菜單</b></p><p>  public void departmenu(){</p><p>  f = new JFrame("院系信息");</p><p>  t = new J

122、Table(100,2);</p><p>  t.setVisible(true);</p><p>  f.setLayout(new BorderLayout());</p><p>  f.add(p1,BorderLayout.NORTH);</p><p>  f.add(p2,BorderLayout.SOUTH);</p

123、><p>  f.setBounds(400,200,400,400);</p><p>  p1.add(t);</p><p>  b_add.setActionCommand("院系錄入");</p><p>  b_delet.setActionCommand("院系刪除");</p>

124、<p>  b_change.setActionCommand("院系修改");</p><p>  b_find.setActionCommand("院系查找");</p><p>  b_add.addActionListener(new Monitor2());</p><p>  b_delet.addAc

125、tionListener(new Monitor2());</p><p>  b_change.addActionListener(new Monitor2());</p><p>  b_find.addActionListener(new Monitor2());</p><p>  b_return.addActionListener(new Monitor

126、2());</p><p>  p2.add(b_add);</p><p>  p2.add(b_delet);</p><p>  p2.add(b_change);</p><p>  p2.add(b_find);</p><p>  p2.add(b_return);</p><p>

127、  f.setVisible(true);</p><p><b>  }</b></p><p><b>  //課程信息菜單</b></p><p>  public void coursemenu(){</p><p>  f = new JFrame("課程信息");&l

128、t;/p><p>  t = new JTable(100,2);</p><p>  t.setVisible(true);</p><p>  f.setLayout(new BorderLayout());</p><p>  f.add(p1,BorderLayout.NORTH);</p><p>  f.add

129、(p2,BorderLayout.SOUTH);</p><p>  f.setBounds(400,200,400,400);</p><p>  p1.add(t);</p><p>  b_add.setActionCommand("課程錄入");</p><p>  b_delet.setActionCommand

130、("課程刪除");</p><p>  b_change.setActionCommand("課程修改");</p><p>  b_find.setActionCommand("課程查找");</p><p>  b_add.addActionListener(new Monitor2());</p

131、><p>  b_delet.addActionListener(new Monitor2());</p><p>  b_change.addActionListener(new Monitor2());</p><p>  b_find.addActionListener(new Monitor2());</p><p>  b_return

132、.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_find);</p><p>  p2.add(b

133、_return);</p><p>  f.setVisible(true);</p><p><b>  }</b></p><p><b>  //成績(jī)信息菜單</b></p><p>  public void scoremenu(){</p><p>  f = ne

134、w JFrame("成績(jī)信息");</p><p>  t = new JTable(100,2);</p><p>  t.setVisible(true);</p><p>  f.setLayout(new BorderLayout());</p><p>  f.add(p1,BorderLayout.NORTH)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(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)論