JAVA課程設(shè)計_基于mysql的學(xué)生信息管理系統(tǒng)_第1頁
JAVA課程設(shè)計_基于mysql的學(xué)生信息管理系統(tǒng)_第2頁
JAVA課程設(shè)計_基于mysql的學(xué)生信息管理系統(tǒng)_第3頁
JAVA課程設(shè)計_基于mysql的學(xué)生信息管理系統(tǒng)_第4頁
JAVA課程設(shè)計_基于mysql的學(xué)生信息管理系統(tǒng)_第5頁
已閱讀5頁,還剩81頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、1.目 錄概述概述 .3一、課題介紹.3二、目的和要求.3三、任務(wù)方案.3需求分析需求分析.5一、學(xué)生管理系統(tǒng)的開展現(xiàn)狀.5二、系統(tǒng)功能分析.5三、系統(tǒng)結(jié)構(gòu)框圖.5數(shù)據(jù)庫設(shè)計數(shù)據(jù)庫設(shè)計.7一、創(chuàng)立數(shù)據(jù)表的結(jié)構(gòu).7二、各表功能及其關(guān)系.7系統(tǒng)模塊功能的實現(xiàn)與界面設(shè)計系統(tǒng)模塊功能的實現(xiàn)與界面設(shè)計 .8一、系統(tǒng)主要模塊.8二、歡送界面.9三、主菜單界面.9四、子菜單.10五、學(xué)生信息錄入.11六、學(xué)生信息查找.12七、學(xué)生信息刪除.13八、學(xué)生信息修改.14課程設(shè)計心得課程設(shè)計心得 .15一、程序結(jié)構(gòu)設(shè)計培養(yǎng).15二、書寫習(xí)慣養(yǎng)成.15三、注意程序簡潔.15總結(jié)總結(jié) .16參考文獻(xiàn)參考文獻(xiàn).17附錄

2、:工程源代碼附錄:工程源代碼.18一、數(shù)據(jù)庫連接.18二、學(xué)生信息數(shù)據(jù)庫管理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概述一、一、課題介紹課題介紹本次課程設(shè)計要求實現(xiàn)一個面向?qū)W生信息的管理系統(tǒng)。學(xué)生信息系統(tǒng)是一個非常通用的管理系統(tǒng)。很多大、中、小學(xué)校都需要擁有自己的學(xué)生檔案管理系統(tǒng),以便

3、對本校學(xué)生的根本信息和學(xué)習(xí)情況進(jìn)行管理,另一方面,較完整的學(xué)校信息管理系統(tǒng)同樣也需要有學(xué)生信息管理系統(tǒng)的支持。由通用的學(xué)生相關(guān)數(shù)據(jù)分析可知,系統(tǒng)包括院系管理、學(xué)生根本信息管理、課程管理、學(xué)生從成績管理等主要功能。該系統(tǒng)要求使用 JAVA 和 MySQL 作為開發(fā)工具和數(shù)據(jù)庫管理系統(tǒng),因此,系統(tǒng)設(shè)計涉及系統(tǒng)功能設(shè)計、數(shù)據(jù)庫設(shè)計和系統(tǒng)界面等幾個方面內(nèi)容。二、二、目的和要求目的和要求2.了解 JAVA 語言的特點及使用的范圍,掌握開發(fā)軟件平臺的搭建。3.要求使用 JAVA 和 MySQL 開發(fā)一個學(xué)生信息管理系統(tǒng),系統(tǒng)主要功能如下:1) 院系信息管理院系系統(tǒng)信息的錄入,包括院系編號、院系名稱等信息;

4、院系信息的修改、刪除、查詢。2) 學(xué)生根本信息管理學(xué)生根本信息的錄入,包括學(xué)號、姓名、性別、出生日期、所在院系、班級等信息;學(xué)生根本信息的修改、刪除、查詢。3) 課程設(shè)置管理課程信息的錄入,包括課程編號、課程名稱、學(xué)分、課程內(nèi)容等信息;課程信息的修改、刪除、查詢。4) 學(xué)生成績管理學(xué)生成績的錄入,包括課程編號、課程名稱、學(xué)分、課程內(nèi)容等信息;學(xué)生信息的修改、刪除、查詢。三、三、任務(wù)方案任務(wù)方案考慮到本次課程設(shè)計是獨立完成,所以,不需要進(jìn)行細(xì)致的分工,只要對框架和時間進(jìn)行一定的規(guī)劃就行。時間方案執(zhí)行結(jié)果112 月 13 日查閱相關(guān)資料準(zhǔn)備好根底知識查閱了 JAVA Swing,MySQL 等方面

5、的相關(guān)資料。212 月 14 日進(jìn)行需求分析得到需求分析總結(jié)。312 月 14 日21 日正式設(shè)計完成代碼設(shè)計及調(diào)試512 月 22 日完成課程設(shè)計報告整理文件,并完成書面報告需求分析一、一、學(xué)生管理系統(tǒng)的開展現(xiàn)狀學(xué)生管理系統(tǒng)的開展現(xiàn)狀經(jīng)過了一段時間的開展,當(dāng)今,各大高校普遍都有了相對完善的學(xué)生管理系統(tǒng),但在局部中小學(xué)中,這種高效的管理手段,仍未能全面普及。目前已有的學(xué)生管理系統(tǒng)存在界面和操作相對繁瑣,實現(xiàn)本錢較高等缺點,仍需改良。二、二、系統(tǒng)功能分析系統(tǒng)功能分析由通用的學(xué)生相關(guān)數(shù)據(jù)分析可知,系統(tǒng)包括院系管理、學(xué)生根本信息管理、課程管理、學(xué)生從成績管理等主要功能主要功能1。實現(xiàn)以上各模塊的功能

6、,需要以下子功能:1 數(shù)據(jù)庫連接的建立與斷開2 數(shù)據(jù)庫的數(shù)據(jù)操作,包括插入、查詢、刪除、修改4.系統(tǒng)操作界面與數(shù)據(jù)庫操作相關(guān)聯(lián)三、三、系統(tǒng)結(jié)構(gòu)框圖系統(tǒng)結(jié)構(gòu)框圖從系統(tǒng)功能表述可以看出,該系統(tǒng)可以實現(xiàn)幾個功能,根據(jù)這些功能設(shè)計出系統(tǒng)的功能模塊如 圖表 1 所示:1 因各模塊根本功能相近,故本文僅以學(xué)生根本信息管理功能為例學(xué)生信息管理系統(tǒng)數(shù)據(jù)庫連接學(xué)生根本信息管理課程設(shè)置管理學(xué)生成績管理添加查看查詢修改刪除院系管理圖表 1 學(xué)生信息管理系統(tǒng)功能模塊圖學(xué)生信息管理系統(tǒng)功能模塊圖數(shù)據(jù)庫設(shè)計一、一、創(chuàng)立數(shù)據(jù)表的結(jié)構(gòu)創(chuàng)立數(shù)據(jù)表的結(jié)構(gòu)以學(xué)生根本信息管理系統(tǒng)為例1.主要數(shù)據(jù)項學(xué)號、姓名、性別、出生年月、所在院系

7、、所在班級2.數(shù)據(jù)類型及要求為操作方便,均定義為字符串。其中學(xué)號不得重復(fù)。3.MySQL 建表語句二、二、各表功能及其關(guān)系各表功能及其關(guān)系1.本系統(tǒng)各表分別存儲相應(yīng)數(shù)據(jù)。2.涉及的數(shù)據(jù)表之間相對獨立,但仍有少量關(guān)聯(lián)。1) 學(xué)生成績表 包含對 學(xué)生根本信息表 和 課程設(shè)置表 的映射2) 學(xué)生根本信息表 包含對 院系信息表 的映射create table student (id INT(11) PRIMARY KEY NOT NULL UNIQUE,name VARCHAR(20) ,sex CHAR(1),birthday VARCHAR(20),depart VARCHAR(20),class

8、 VARCHAR(20);系統(tǒng)模塊功能的實現(xiàn)與界面設(shè)計一、一、系統(tǒng)主要模塊系統(tǒng)主要模塊本次課程設(shè)計的主要目的,是通過實踐,讓我對所學(xué)到的知識進(jìn)行考驗和穩(wěn)固。經(jīng)過一點時間的了解。設(shè)計出了系統(tǒng)的總體框架,參看圖表 1。由于各模塊的功能及原理根本相同,只是涉及的數(shù)據(jù)類型有所不同,所以本次只對學(xué)生根本信息管理的功能進(jìn)行了較為全面的設(shè)計。由于時間關(guān)系,其余功能沒有進(jìn)行具體設(shè)計。 具體的在以下說明中會提及系統(tǒng)界面設(shè)計如下:模塊名稱模塊名稱相關(guān)的類相關(guān)的類登錄界面登錄界面welcome.class菜單界面菜單界面Menu.class數(shù)據(jù)庫管理模塊:模塊名稱模塊名稱相關(guān)的類相關(guān)的類數(shù)據(jù)庫鏈接數(shù)據(jù)庫鏈接DbCo

9、nnection.class學(xué)生信息數(shù)據(jù)庫管理學(xué)生信息數(shù)據(jù)庫管理StudentDao.class院系信息數(shù)據(jù)庫管理院系信息數(shù)據(jù)庫管理課程信息數(shù)據(jù)庫管理課程信息數(shù)據(jù)庫管理成績信息數(shù)據(jù)庫管理成績信息數(shù)據(jù)庫管理模塊功能界面設(shè)計如下:模塊名稱模塊名稱相關(guān)的類相關(guān)的類子菜單子菜單Son_Menu.class添加功能添加功能Add_Menu.class查詢功能查詢功能Find_Menu.class刪除功能刪除功能修改功能修改功能二、二、歡送界面歡送界面1.實際運(yùn)行效果圖表 22.實現(xiàn)方法1) 繼承了 JPanel,并在構(gòu)造函數(shù)中建立 JFrame 做外框;2) 用 JLabel 顯示歡送信息內(nèi)容;3) 確

10、定按鈕在監(jiān)聽到事件后,new 出一個 Menu 類;三、三、主菜單界面主菜單界面1.實際運(yùn)行效果圖表 32.實現(xiàn)方法1) 繼承 JFrame 類,在內(nèi)部建立的 JPanel插入 JButton;2) 定義相應(yīng)按鈕的響 應(yīng)事件,調(diào)用子菜單的不同建立函數(shù)如 new Son_menu().studentmenu();;圖表 2 歡送界面圖表 3 主菜單界面四、四、子菜單子菜單1.實際運(yùn)行效果Error! Reference source not found.2.實現(xiàn)方法1) 建立 JFrame,JTable,JButton 等工具;2) 建立數(shù)據(jù)庫鏈接;3) 將數(shù)據(jù)庫里的數(shù)據(jù)逐個讀入到 JTable

11、 類;4) 對 JButton 參加 ActionListener,并關(guān)聯(lián)相應(yīng)的功能菜單,如:圖表 4 子菜單五、五、學(xué)生信息錄入學(xué)生信息錄入1.實際運(yùn)行效果圖表 5實現(xiàn)方法1) 由輸入的學(xué)生信息構(gòu)造一個 Student 類;2) 利用 SQL 語句,將 Student 類插入到數(shù)據(jù)庫;圖表 4 錄入學(xué)生信息六、六、學(xué)生信息查找學(xué)生信息查找1.實際運(yùn)行效果圖標(biāo) 6實現(xiàn)方法1由輸入的學(xué)號,利用 SQL 語句找到相關(guān)數(shù)據(jù),返回一個 Student 類;2有那么將 student 的相關(guān)信息顯示到 JTextArea 上,沒有那么顯示“學(xué)生信息未找到;圖表 6 查找學(xué)生信息七、七、學(xué)生信息刪除學(xué)生信

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

13、不同的函數(shù)建立不同窗口,如:student_add ,depart_add ;二、二、書寫習(xí)慣的養(yǎng)成書寫習(xí)慣的養(yǎng)成好的書寫習(xí)慣是一個優(yōu)秀程序員的必備品質(zhì)。在寫代碼的時候要隨時注意書寫的格式?!?的左右應(yīng)該用空格隔開;a=1;改為a = 1;這樣更為清晰;2.大括號一定要對齊;class public void .三、三、注意程序簡潔注意程序簡潔在逐漸適應(yīng)面向?qū)ο缶幊桃院?。依然?yīng)道保持過去在編程中的一些好習(xí)慣。使用Vector 等,也需要留意效率。不能只顧用法方便??偨Y(jié)系統(tǒng)設(shè)計過程中,主要涉及了包括 JAVA 根本語法、AWT,Java Swing,MySQL等方面的相關(guān)知識。設(shè)計中遇到不少問題

14、,到圖書館查閱了不少資料,向王宋君老師請教過不少問題,老師都一一細(xì)心解答,非常感謝。由于時間倉促,原本設(shè)想的功能還沒有一一實現(xiàn),待進(jìn)一步完善。 參考文獻(xiàn)1.?Thinking in JavaJava 編程思想?第四版,機(jī)械工業(yè)出版社, 【美】Bruce Eckel著,陳昊鵬譯;2.?精通 Java Swing 程序設(shè)計?中國鐵道出版社,林智揚(yáng)、范明翔、陳錦輝 編著;3.?深入淺出 Java Swing 程序設(shè)計?中國鐵道出版社,林智揚(yáng)、范明翔、陳錦輝 編著;4.?Java GUI 程序設(shè)計?清華大學(xué)出版社,肖剛 等編著;5.?Java 信息系統(tǒng)設(shè)計與開發(fā)實例?機(jī)械工業(yè)出版社,黃明、梁旭、曹利超

15、 編著;6.?Java 范例大全?機(jī)械工業(yè)出版社,尹繼平、張帆 編著;附錄:工程源代碼一、一、數(shù)據(jù)庫連接數(shù)據(jù)庫連接DbConnection.javapackage dao;import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;public class DbConnection public static Connection getConnection()Connection con = null;String url = jdbc:mysql:/localhost:3306/

16、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ù)庫連接成功數(shù)據(jù)庫連接成功); catch (ClassNotFoundException e) / TODO Auto-generated catch blocke.printStackTrace();return null; catch (SQLExc

17、eption e) / TODO Auto-generated catch blocke.printStackTrace();return con;public static void closeConnection(Connection con)if(con!=null)try con.close();con = null; catch (SQLException e) / TODO Auto-generated catch blocke.printStackTrace();public static void main(String args)getConnection();二、二、學(xué)生信

18、息數(shù)據(jù)庫管理學(xué)生信息數(shù)據(jù)庫管理Student_Dao.javapackage dao;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import java.util.ArrayList;import model.Depart;import model.Student;public class StudentDao public boolean addInfo(

19、Student student)boolean flag;Connection con = DbConnection.getConnection();PreparedStatement ps;String sql = ;/ResultSet rs;try sql = insert into student values(?,?,?,?,?,?); /用問號代替ps = con.prepareStatement(sql);ps.setInt(1, student.getId();ps.setString(2, student.getName();ps.setString(3, student.g

20、etSex();ps.setString(4, student.getBorn_date();ps.setString(5, student.getDepart_id();ps.setString(6, student.getClass_name();ps.execute();System.out.println(添加了一條記錄);flag = true; catch (SQLException e) / TODO Auto-generated catch blocke.printStackTrace();flag = false;finallyDbConnection.closeConnec

21、tion(con);return flag;public ArrayList findAll()ArrayList students = new ArrayList();Connection con = DbConnection.getConnection();Statement sta;ResultSet rs;try sta = con.createStatement();rs = sta.executeQuery(SELECT * FROM student); /從表 depart 中查詢所有數(shù)據(jù)while(rs.next()Student student = new Student()

22、;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.getString(5);student.setClass_name(rs.getString(6);System.out.println(student.getName();students.add(student);rs.close();sta.close(); catch (SQLExce

23、ption e) / TODO Auto-generated catch blocke.printStackTrace();finallyDbConnection.closeConnection(con);return students;public Student findOne(int id)Student student = new Student();Connection con = DbConnection.getConnection();PreparedStatement ps;String sql = ;ResultSet rs;try sql = SELECT * FROM s

24、tudent where id=?;ps = con.prepareStatement(sql);ps.setInt(1, id);rs = ps.executeQuery(); /從表 depart 中查詢所有數(shù)據(jù)if(rs.next()student.setId(rs.getInt(id); /注意數(shù)據(jù)類型要對應(yīng)student.setName(rs.getString(Name);student.setSex(rs.getString(Sex);student.setBorn_date(rs.getString(birthday);student.setDepart_id(rs.getSt

25、ring(Depart);student.setClass_name(rs.getString(Class);System.out.println(id:+student.getId()+ name:+student.getName();elseSystem.out.println(沒有數(shù)據(jù));rs.close();ps.close(); catch (SQLException e) / TODO Auto-generated catch blocke.printStackTrace();finallyDbConnection.closeConnection(con);return stude

26、nt;public boolean deleteInfo(Student student)boolean flag;Connection con = DbConnection.getConnection();PreparedStatement ps;String sql = ;try sql = delete from student where id=?; /用問號代替ps = con.prepareStatement(sql);ps.setInt(1, student.getId();ps.execute();System.out.println(成功刪除了一條記錄);flag = tru

27、e; catch (SQLException e) / TODO Auto-generated catch blocke.printStackTrace();flag = false;finallyDbConnection.closeConnection(con);return flag;三、三、 歡送界面歡送界面Welcome.javapackage menu;import java.awt.BorderLayout;import java.awt.Font;import java.awt.GridLayout;import java.awt.event.MouseAdapter;impor

28、t java.awt.event.MouseEvent;import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;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 J

29、Button(確定確定); Welcome() w.addWindowListener(new Wind(); b.addMouseListener(new Monitor2(); 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

30、.add(b); b.setBounds(p2.WIDTH/2-10,p2.HEIGHT/2-6,20,12); w.setBounds(400, 200, 600, 200);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 extend

31、s WindowAdapterpublic void windowClosing(WindowEvent e) w.setVisible(false);System.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 java

32、x.swing.*;public class Menu JFrame f = new JFrame(菜單);JPanel p = new JPanel();Menu()JButton b_depart = new JButton(院系信息);JButton b_student = new JButton(學(xué)生信息);JButton b_course = new JButton(課程信息);JButton b_score = new JButton(成績信息);JButton ex = new JButton(退出);b_score.addActionListener(new Monitor2(

33、);ex.addActionListener(new Monitor2();b_depart.addActionListener(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

34、(p2);p2.setLayout(new GridLayout(5,1);p2.add(b_depart);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 WindowAdapterpublic void windowClosing(WindowEvent e) f.setVi

35、sible(false);System.exit(0);private class 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().equal

36、s(院系信息) new Son_menu().departmenu(); f.setVisible(false); if(e.getActionCommand().equals(課程信息) new Son_menu().coursemenu(); f.setVisible(false); if(e.getActionCommand().equals(成績信息) new Son_menu().scoremenu(); f.setVisible(false); 五、五、子菜單界面子菜單界面Son_Menu.javapackage menu;import java.awt.BorderLayout;

37、import java.awt.GridLayout;import 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 =

38、new JPanel();JPanel p2 = 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(

39、).studentmenu();/學(xué)生信息菜單public void studentmenu()f = new JFrame(學(xué)生信息);ArrayList scan = new ArrayList();Vector columnNames = new Vector();columnNames.add(學(xué)號);columnNames.add(姓名);columnNames.add(性別);columnNames.add(出生年月);columnNames.add(學(xué)院代碼);columnNames.add(所在班級);tableModel = new DefaultTableModel(col

40、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();v.add(stud

41、ent.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_delet.setActionCommand(學(xué)生

42、刪除);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();p2.add(b_add);p2.add(b_delet);

43、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.setBounds(400,200,400,400);p1.add(t);b_add.setAc

44、tionCommand(院系錄入);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.addActionListener(new Monitor2();b_return.addActionListener(

45、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();f.add(p1,BorderLayout.NORTH);f.add(p2,BorderLayout.SOUTH);f.set

46、Bounds(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.addActionListen

47、er(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 scoremenu()f = new JFrame(成績信息);t = new JTable(100,2);t.setVisible(true);f.setLayout(new BorderLayout();f.add(p1,BorderLayo

48、ut.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 Monitor2();b_change.addActionLi

49、stener(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);private class Monitor2 implements ActionListener public void actionPerformed(ActionEvent e) if(e.g

50、etActionCommand().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.setVisible(false); new Delet_Menu().student_delet();if(e.getActionCommand().equals(學(xué)生修改)f.setVisible(false); new Cha

51、nge_Menu().student_change();if(e.getActionCommand().equals(學(xué)生查找)f.setVisible(false); new Find_Menu().student_find(); 六、六、添加功能添加功能Add_Menu.javapackage menu;import java.awt.BorderLayout;import java.awt.GridLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing

52、.*;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,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 JP

53、anel();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é) 號:);l2 = new JLabel( 姓 名:);l3 = new JLabel( 性 別:);l4 = new JLabel(出生日期:);l5 = new JLabel(院系代碼:);l6 = new JLabel(所在班級:);t1 = new JTextField(16);t2

54、= 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);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.

55、add(p14);p1.add(p15);p1.add(p16);p2.add(b_ok = new JButton(確定);p2.add(b_cancel = new JButton(取消);b_ok.addActionListener(new 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.setVis

56、ible(true);public static void main(String args)new Add_Menu().student_add();private class Monitor2 implements ActionListener public void actionPerformed(ActionEvent e) if(e.getActionCommand().equals(取消)add_menu.setVisible(false); new Son_menu().studentmenu();if(e.getActionCommand().equals(確定)Student

57、 s = new Student();s.setId(Integer.parseInt(t1.getText();s.setName(t2.getText();s.setSex(t3.getText();s.setBorn_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.javap

58、ackage menu;import java.awt.BorderLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.*;import dao.StudentDao;import model.Student;public class Find_Menu Student find_student;JFrame find_menu;JPanel p1,p2;JLabel l1;JTextField text;JTextArea show;JButton f

59、ind_find,find_cancel;public void student_find()find_menu = new JFrame(學(xué)生信息查找);p1 = new JPanel();p2 = new JPanel();l1 = new JLabel(學(xué)號:);text = new JTextField(16);show = new JTextArea(100,100);find_find = new JButton(搜索);find_cancel = new JButton(取消);find_cancel.addActionListener(new Monitor2();find_f

60、ind.addActionListener(new Monitor2();find_menu.add(p1,BorderLayout.NORTH);find_menu.add(show,BorderLayout.CENTER);find_menu.add(p2,BorderLayout.SOUTH);p1.add(l1);p1.add(text);p2.add(find_find);p2.add(find_cancel);find_menu.setBounds(400,200,400,400);find_menu.setVisible(true);private class Monitor2

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論