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

下載本文檔

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

文檔簡介

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ù)庫設(shè)計(jì)7一、創(chuàng)建數(shù)據(jù)表的結(jié)構(gòu)7二、各表功能及其關(guān)系7系統(tǒng)模塊功能的實(shí)現(xiàn)與界面設(shè)計(jì)8一、系統(tǒng)主要模塊8二、歡迎界面9三、主菜單界面9四、子菜單10五、學(xué)生信息錄入11六、學(xué)生信息查找12七、學(xué)生信息刪除13八、學(xué)生信息修改14課程設(shè)計(jì)心得15一、程序結(jié)構(gòu)設(shè)計(jì)培養(yǎng)15二、書寫習(xí)慣養(yǎng)成15三、注意程序簡潔15總結(jié)16參考文獻(xiàn)17附錄:項(xiàng)目源代碼18一、數(shù)據(jù)庫連接(DbConnection.java)18二、學(xué)生信息數(shù)據(jù)庫管理(Student_Dao.java)18三、

2、歡迎界面(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è)計(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)的支持。由通用

3、的學(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)容。二、 目的和要求1. 了解JAVA語言的特點(diǎn)及使用的范圍,掌握開發(fā)軟件平臺(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é)生基本信息的修改、

4、刪除、查詢。3) 課程設(shè)置管理課程信息的錄入,包括課程編號(hào)、課程名稱、學(xué)分、課程內(nèi)容等信息;課程信息的修改、刪除、查詢。4) 學(xué)生成績管理學(xué)生成績的錄入,包括課程編號(hào)、課程名稱、學(xué)分、課程內(nèi)容等信息;學(xué)生信息的修改、刪除、查詢。三、 任務(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í)查閱了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)告需求分析

5、一、 學(xué)生管理系統(tǒng)的發(fā)展現(xiàn)狀經(jīng)過了一段時(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é)生從成績管理等主要功能 因各模塊基本功能相近,故本文僅以學(xué)生基本信息管理功能為例。實(shí)現(xiàn)以上各模塊的功能,需要以下子功能:1數(shù)據(jù)庫連接的建立與斷開2數(shù)據(jù)庫的數(shù)據(jù)操作,包括插入、查詢、刪除、修改3. 系統(tǒng)操作界面與數(shù)據(jù)庫操作相關(guān)聯(lián)三、 系統(tǒng)結(jié)構(gòu)框圖從系統(tǒng)功能表述可以看出,該系統(tǒng)可

6、以實(shí)現(xiàn)幾個(gè)功能,根據(jù)這些功能設(shè)計(jì)出系統(tǒng)的功能模塊如圖表1所示:學(xué)生信息管理系統(tǒng)數(shù)據(jù)庫連接學(xué)生基本信息管理課程設(shè)置管理學(xué)生成績管理添加查看查詢修改刪除院系管理圖表1 學(xué)生信息管理系統(tǒng)功能模塊圖數(shù)據(jù)庫設(shè)計(jì)一、 創(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ù)。create table student (id INT(11) PRIMARY KEY NOT NULL UNIQUE,name VARCHAR(20) ,sex CHAR(1),birthday VARCHAR(20

7、),depart VARCHAR(20),class VARCHAR(20);3. MySQL建表語句二、 各表功能及其關(guān)系1. 本系統(tǒng)各表分別存儲(chǔ)相應(yīng)數(shù)據(jù)。2. 涉及的數(shù)據(jù)表之間相對(duì)獨(dú)立,但仍有少量關(guān)聯(lián)。1) 學(xué)生成績表 包含對(duì) 學(xué)生基本信息表 和 課程設(shè)置表 的映射2) 學(xué)生基本信息表 包含對(duì) 院系信息表 的映射系統(tǒng)模塊功能的實(shí)現(xiàn)與界面設(shè)計(jì)一、 系統(tǒng)主要模塊本次課程設(shè)計(jì)的主要目的,是通過實(shí)踐,讓我對(duì)所學(xué)到的知識(shí)進(jìn)行考驗(yàn)和鞏固。經(jīng)過一點(diǎn)時(shí)間的了解。設(shè)計(jì)出了系統(tǒng)的總體框架,參看圖表1。由于各模塊的功能及原理基本相同,只是涉及的數(shù)據(jù)類型有所不同,所以本次只對(duì)學(xué)生基本信息管理的功能進(jìn)行了較為全面的

8、設(shè)計(jì)。由于時(shí)間關(guān)系,其余功能沒有進(jìn)行具體設(shè)計(jì)。(具體的在以下說明中會(huì)提及)系統(tǒng)界面設(shè)計(jì)如下:模塊名稱相關(guān)的類登錄界面welcome.class菜單界面Menu.class數(shù)據(jù)庫管理模塊:模塊名稱相關(guān)的類數(shù)據(jù)庫鏈接DbConnection.class學(xué)生信息數(shù)據(jù)庫管理StudentDao.class院系信息數(shù)據(jù)庫管理DepartDao.class課程信息數(shù)據(jù)庫管理CourseDao.class成績信息數(shù)據(jù)庫管理ScoreDao.class模塊功能界面設(shè)計(jì)如下:模塊名稱相關(guān)的類子菜單Son_Menu.class添加功能Add_Menu.class查詢功能Find_Menu.class刪除功能Del

9、et_Menu.class修改功能Change_Menu.class二、 歡迎界面1. 實(shí)際運(yùn)行效果(圖表 2)圖表 2 歡迎界面2. 實(shí)現(xiàn)方法1) 繼承了JPanel,并在構(gòu)造函數(shù)中建立JFrame做外框;2) 用JLabel顯示歡迎信息內(nèi)容;3) 確定按鈕在監(jiān)聽到事件后,new出一個(gè)Menu類;三、 主菜單界面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(););圖表 3 主菜單界面四、 子菜單1. 實(shí)際運(yùn)行效

10、果(Error! Reference source not found.)圖表 4 子菜單2. 實(shí)現(xiàn)方法1) 建立JFrame,JTable,JButton等工具;2) 建立數(shù)據(jù)庫鏈接;3) 將數(shù)據(jù)庫里的數(shù)據(jù)逐個(gè)讀入到JTable類;4) 對(duì)JButton加入ActionListener,并關(guān)聯(lián)相應(yīng)的功能菜單,如:五、 學(xué)生信息錄入1. 實(shí)際運(yùn)行效果(圖表5)圖表 4 錄入學(xué)生信息實(shí)現(xiàn)方法1) 由輸入的學(xué)生信息構(gòu)造一個(gè)Student類;2) 利用SQL語句,將Student類插入到數(shù)據(jù)庫;六、 學(xué)生信息查找1.實(shí)際運(yùn)行效果(圖標(biāo) 6)圖表 6 查找學(xué)生信息實(shí)現(xiàn)方法1)由輸入的學(xué)號(hào),利用SQL語

11、句找到相關(guān)數(shù)據(jù),返回一個(gè)Student類;2)有則將student的相關(guān)信息顯示到JTextArea上,沒有則顯示“學(xué)生信息未找到”;七、 學(xué)生信息刪除1. 實(shí)際運(yùn)行效果(圖表 7)圖表 7 學(xué)生信息刪除2. 實(shí)現(xiàn)方法1) 應(yīng)用查找功能相似的原理先搜索到要?jiǎng)h除的信息;2) 利用SQL語句將找到的信息刪除,并顯示“學(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)為了簡化程序,我并沒有為

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

13、涉及了包括JAVA基本語法、AWT,Java Swing,MySQL等方面的相關(guān)知識(shí)。設(shè)計(jì)中遇到不少問題,到圖書館查閱了不少資料,向王宋君老師請(qǐng)教過不少問題,老師都一一細(xì)心解答,非常感謝。由于時(shí)間倉促,原本設(shè)想的功能還沒有一一實(shí)現(xiàn),待進(jìn)一步完善。參考文獻(xiàn)1. Thinking in Java(Java編程思想)第四版,機(jī)械工業(yè)出版社,【美】Bruce Eckel著,陳昊鵬譯;2. 精通Java Swing程序設(shè)計(jì)中國鐵道出版社,林智揚(yáng)、范明翔、陳錦輝 編著;3. 深入淺出Java Swing程序設(shè)計(jì)中國鐵道出版社,林智揚(yáng)、范明翔、陳錦輝 編著;4. Java GUI程序設(shè)計(jì)清華大學(xué)出版社,肖剛

14、 等編著;5. Java信息系統(tǒng)設(shè)計(jì)與開發(fā)實(shí)例機(jī)械工業(yè)出版社,黃明、梁旭、曹利超 編著;6. Java范例大全機(jī)械工業(yè)出版社,尹繼平、張帆 編著;附錄:項(xiàng)目源代碼一、 數(shù)據(jù)庫連接(DbConnection.java)package dao;import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;public class DbConnection public static Connection getConnection()Connection con = null;String

15、 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ù)庫連接成功"); catch (ClassNotFoundExceptio

16、n e) / TODO Auto-generated catch blocke.printStackTrace();return null; catch (SQLException 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

17、blocke.printStackTrace();public static void main(String args)getConnection();二、 學(xué)生信息數(shù)據(jù)庫管理(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 java.util.ArrayList;import model

18、.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(?,?,?,?,?,?)" /用問號(hào)代替ps = con.prepareState

19、ment(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 = true; catch (SQL

20、Exception e) / TODO Auto-generated catch blocke.printStackTrace();flag = false;finallyDbConnection.closeConnection(con);return flag;public ArrayList<Student> findAll()ArrayList<Student> students = new ArrayList<Student>();Connection con = DbConnection.getConnection();Statement sta;

21、ResultSet rs;try 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

22、.setDepart_id(rs.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 blocke.printStackTrace();finallyDbConnection.closeConnection(con);return students;public Student f

23、indOne(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.n

24、ext()student.setId(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("C

25、lass");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 student;publ

26、ic boolean deleteInfo(Student student)boolean flag;Connection con = DbConnection.getConnection();PreparedStatement ps;String sql = ""try sql = "delete from student where id=?" /用問號(hào)代替ps = con.prepareStatement(sql);ps.setInt(1, student.getId();ps.execute();System.out.println("

27、成功刪除了一條記錄");flag = true; catch (SQLException e) / TODO Auto-generated catch blocke.printStackTrace();flag = false;finallyDbConnection.closeConnection(con);return flag;三、 歡迎界面(Welcome.java)package menu;import java.awt.BorderLayout;import java.awt.Font;import java.awt.GridLayout;import java.awt.e

28、vent.MouseAdapter;import 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é)

29、生信息管理系統(tǒng)!"); JButton b = new JButton("確定"); Welcome() w.addWindowListener(new Wind(); b.addMouseListener(new Monitor2(); Font font = new Font( "歡迎進(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.setBound

30、s(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, 200);w.setVisible(true); private class Monitor2 extends MouseAdapter public void mousePressed(MouseEvent e) new Menu(); w.setVisible(false); public static void main(String ar

31、gs)new Welcome();private class Wind extends 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 j

32、ava.awt.event.WindowEvent;import javax.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 = n

33、ew JButton("成績信息");JButton ex = new JButton("退出");b_score.addActionListener(new Monitor2();ex.addActionListener(new Monitor2();b_depart.addActionListener(new Monitor2();b_student.addActionListener(new Monitor2();b_course.addActionListener(new Monitor2();f.addWindowListener(new Wi

34、nd();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_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(St

35、ring args)new Menu();private class Wind extends WindowAdapterpublic void windowClosing(WindowEvent e) f.setVisible(false);System.exit(0);private class Monitor2 implements ActionListener public void actionPerformed(ActionEvent e) if(e.getActionCommand().equals("退出") new Menu(); System.exit(

36、0); if(e.getActionCommand().equals("學(xué)生信息") new Son_menu().studentmenu(); f.setVisible(false); if(e.getActionCommand().equals("院系信息") new Son_menu().departmenu(); f.setVisible(false); if(e.getActionCommand().equals("課程信息") new Son_menu().coursemenu(); f.setVisible(false)

37、; if(e.getActionCommand().equals("成績信息") new Son_menu().scoremenu(); f.setVisible(false); 五、 子菜單界面(Son_Menu.java)package menu;import java.awt.BorderLayout;import java.awt.GridLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.util.ArrayList;import jav

38、a.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 p2 = new JPanel();JButton b_add = new JButton("錄入");JButton b_delet = new JButton("刪除");JButton

39、 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().studentmenu();/學(xué)生信息菜單public void studentmenu()f = new JFrame("學(xué)生信息&q

40、uot;);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 DefaultTable

41、Model(columnNames,0);tableModel.addRow(columnNames);StudentDao ddao = new StudentDao();scan = ddao.findAll();for(int i=0;i<scan.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

42、();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_

43、delet.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.ad

44、dActionListener(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 departmenu()f = new JFrame("院系信息");t = new JTable(100,2);t.setVisible(true);f.setLayout(new BorderLayout();f.add(p1,BorderLayout.NORTH);f.add(

45、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

46、 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);/課程信息菜單public void coursemenu()f = new JFrame("課程信息");t

47、= 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("課程錄入");b_delet.setActionCommand("課程刪除");b_change.setActionCommand("課程修改");b_fin

48、d.setActionCommand("課程查找");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);p2.add(b_change);p2.add(b_fin

49、d);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,BorderLayout.NORTH);f.add(p2,BorderLayout.SOUTH);f.setBounds(400,200,400,400);p1.add(t);b_add.setActionCommand("

50、成績錄入");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

51、();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.getActionCommand().equals("返回")f.setVisible(false)

52、; 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 Change_Menu().

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

溫馨提示

  • 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. 人人文庫網(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)論