![java班級(jí)管理系統(tǒng)_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/1/e88cc8ed-7ca7-4629-8ee4-d42defa63730/e88cc8ed-7ca7-4629-8ee4-d42defa637301.gif)
![java班級(jí)管理系統(tǒng)_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/1/e88cc8ed-7ca7-4629-8ee4-d42defa63730/e88cc8ed-7ca7-4629-8ee4-d42defa637302.gif)
![java班級(jí)管理系統(tǒng)_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/1/e88cc8ed-7ca7-4629-8ee4-d42defa63730/e88cc8ed-7ca7-4629-8ee4-d42defa637303.gif)
![java班級(jí)管理系統(tǒng)_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/1/e88cc8ed-7ca7-4629-8ee4-d42defa63730/e88cc8ed-7ca7-4629-8ee4-d42defa637304.gif)
![java班級(jí)管理系統(tǒng)_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/1/e88cc8ed-7ca7-4629-8ee4-d42defa63730/e88cc8ed-7ca7-4629-8ee4-d42defa637305.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、班級(jí)管理系統(tǒng)一 課程設(shè)計(jì)目的 本班級(jí)管理系統(tǒng)軟件主要用于實(shí)現(xiàn)用戶對(duì)學(xué)生一些基本信息的常用操作,在本系統(tǒng)中定義了對(duì)學(xué)生基本信息進(jìn)行添加,刪除,查找等幾個(gè)模塊。此系統(tǒng)是一個(gè)非常方便快捷的班級(jí)學(xué)生信息管理軟件,用戶可以隨心所欲地添加學(xué)生信息、查詢學(xué)生信息、修改學(xué)生信息,刪除學(xué)生信息等等。具體實(shí)現(xiàn)要求如下:1)能夠?qū)崿F(xiàn)對(duì)班級(jí)學(xué)生基本資料的錄入,包括學(xué)生的學(xué)號(hào),姓名,性別,所學(xué)專業(yè),家庭住址以及出生年月等。2)能夠?qū)崿F(xiàn)對(duì)學(xué)生基本資料的修改。3)根據(jù)學(xué)號(hào)對(duì)學(xué)生資料進(jìn)行查詢。4)能夠刪除某些學(xué)生的資料。二 設(shè)計(jì)方案1 設(shè)計(jì)概述 設(shè)計(jì)一個(gè)班級(jí)管理系統(tǒng),能夠?qū)崿F(xiàn)對(duì)學(xué)生基本資料的錄入,包括學(xué)生的學(xué)號(hào),姓名,性別,
2、所學(xué)專業(yè),家庭住址以及出生年月等;能夠?qū)崿F(xiàn)對(duì)學(xué)生基本資料的修改;根據(jù)學(xué)號(hào)對(duì)學(xué)生資料進(jìn)行查詢;能夠刪除某些學(xué)生的資料。2 需求分析2.1 系統(tǒng)結(jié)構(gòu)圖根據(jù)本次課程設(shè)計(jì)的目的和以上的問題描述,把該班級(jí)管理系統(tǒng)分為五個(gè)模塊:錄入模塊(StudentSituation)、查詢模塊(Inques)、刪除模塊(Delete)和修改模塊(ModifySituation)。各個(gè)模塊包括對(duì)學(xué)生學(xué)號(hào),姓名,所學(xué)專業(yè),家庭住址,出生日期等信息的操作。系統(tǒng)結(jié)構(gòu)圖如下:圖一 系統(tǒng)結(jié)構(gòu)圖2.2 系統(tǒng)主要類定義由于在本班級(jí)管理系統(tǒng)中各個(gè)模塊操作的變量和方法大體相同,在程序中,錄入模塊(StudentSituation)、查詢
3、模塊(Inques)、刪除模塊(Delete)和修改模塊(ModifySituation)所操作的變量都是學(xué)生的學(xué)號(hào),姓名,性別,所學(xué)專業(yè),家庭住址以及出生年月等,所以把這四個(gè)模塊都定義為主類(StudentManager)的子類。在該設(shè)計(jì)中,由于沒有用數(shù)據(jù)庫對(duì)用戶所錄入的信息進(jìn)行存儲(chǔ),所以又定義了錄入模塊(StudentSituation)的一個(gè)子類, 該類可以存儲(chǔ)用戶所輸入的學(xué)生信息,也可以接收用戶對(duì)信息的修改,而當(dāng)用戶刪除學(xué)生信息時(shí),該子類刪除該信息。所以該系統(tǒng)中共有6個(gè)java源文件,類之間的主要關(guān)系如下圖所示:圖二 類之間的關(guān)系圖各主類的主要作用如下:1).StudentManage
4、r.java該java文件的類負(fù)責(zé)創(chuàng)建班級(jí)學(xué)生管理系統(tǒng)的主窗口。該類包含main方法,main方法是程序執(zhí)行的入口,即程序從該類開始執(zhí)行。2).StudentStituation.java該文件的類負(fù)責(zé)創(chuàng)建班級(jí)學(xué)生管理系統(tǒng)的學(xué)生信息錄入界面。3).ModifySituation.java該文件的類負(fù)責(zé)創(chuàng)建班級(jí)學(xué)生管理系統(tǒng)的學(xué)生基本信息修改界面。4).Inquest.java該文件的類負(fù)責(zé)創(chuàng)建班級(jí)學(xué)生管理系統(tǒng)的學(xué)生基本信息查詢界面。5).Delete.java該文件的類負(fù)責(zé)創(chuàng)建班級(jí)學(xué)生管理系統(tǒng)的學(xué)生信息刪除界面。6).Student.java負(fù)責(zé)創(chuàng)建存放學(xué)生信息的對(duì)象。2.3功能需求 根據(jù)上述的
5、信息管理系統(tǒng)的業(yè)務(wù)流程、要求以及所要實(shí)現(xiàn)的目標(biāo),我們可以擬出以下需求目標(biāo):(1)建立學(xué)生檔案的管理和維護(hù)。實(shí)現(xiàn)計(jì)算機(jī)自動(dòng)化管理體制。(2)建立學(xué)生成績(jī)管理機(jī)制,在計(jì)算機(jī)的支持下快速的完成學(xué)生成績(jī)的查詢和修改。(3)建立課程設(shè)置管理,在計(jì)算機(jī)的支持下實(shí)現(xiàn)課程的添加、刪除、修改。(4)建立班級(jí)設(shè)置管理,在計(jì)算機(jī)的支持下實(shí)現(xiàn)班級(jí)的添加、刪除和修改。(5)實(shí)現(xiàn)系統(tǒng)的權(quán)限設(shè)置管理,保證系統(tǒng)安全性。根據(jù)系統(tǒng)的需求分析,得到本系統(tǒng)的功能要求如下:(1)班級(jí)、課程的設(shè)置管理:學(xué)校的教務(wù)秘書可以根據(jù)本校具體情況在每學(xué)期開始時(shí)設(shè)置所需班級(jí)數(shù)量和人數(shù)。并設(shè)置本學(xué)期的課程。(2)權(quán)限管理:為了很好的保證系統(tǒng)的安全性,
6、學(xué)校相關(guān)負(fù)責(zé)人可以設(shè)置不同類型的人員的權(quán)限。(3)學(xué)生檔案管理:學(xué)生檔案的數(shù)量十分龐大,教務(wù)管理人員進(jìn)行新生入學(xué)的檔案錄入及更改。其中包括學(xué)生個(gè)人信息的修改。(4)學(xué)生成績(jī)管理:教務(wù)管理人員可以查詢和修改學(xué)生的歷年考試成績(jī),掌握學(xué)生學(xué)習(xí)情況,作為評(píng)定學(xué)生素質(zhì)的數(shù)據(jù)依據(jù)。3 詳細(xì)設(shè)計(jì)3.1 主類StudentManager.java該java文件的類負(fù)責(zé)創(chuàng)建班級(jí)學(xué)生管理系統(tǒng)的主窗口。該類包含main方法,main方法是程序執(zhí)行的入口,即程序從該類開始執(zhí)行。在該主類StudentManager.java所包含的主要方法和主要成員變量如表1和表2所示:表1 主要方法名稱功能備注StudentMana
7、ger創(chuàng)建程序主窗口構(gòu)造方法actionPerformed處理ActionEvent事件接口方法main系統(tǒng)主方法,程序開始行系統(tǒng)主方法表2 主要成員變量成員變量描述變量類型變量名稱基本信息錄入界面StudentSituation基本信息錄入基本信息修改界面ModifySituation基本信息修改基本信息查詢界面Inquest基本信息查詢基本信息刪除界面Delete基本信息刪除菜單選項(xiàng)JMenuItem錄入,修改,查詢,刪除存基本信息的散表Hashtable基本信息存放散列表的文件Filefile3.2 錄入界面StudentStituation.java該文件的類負(fù)責(zé)創(chuàng)建班級(jí)學(xué)生管理系統(tǒng)的
8、學(xué)生信息錄入界面,該界面包括對(duì)學(xué)生學(xué)號(hào),姓名,所學(xué)專業(yè),家庭住址,出生日期的錄入,在該類中定義了兩個(gè)方法創(chuàng)建學(xué)生信息錄入界面(StudentSituation),此方法屬于一個(gè)構(gòu)造方法;處理ActionEvent事件(actionPerformed),這是一個(gè)接口方法。該類的主要成員變量和主要方法如表3和表4所示:表3 主要成員變量屬性描述變量類型變量名稱“學(xué)生”對(duì)象的散列表Hashtable基本信息表學(xué)生基本信息的文本JTextField學(xué)號(hào),姓名,所學(xué)專業(yè)等學(xué)生信息的對(duì)象Student表4 主要方法定義名稱功能備注StudentSituation創(chuàng)建學(xué)生信息錄入面構(gòu)造方法actionPer
9、formed處理ActionEvent件接口方法3.3 查詢界面Inquest.java該文件的類負(fù)責(zé)創(chuàng)建班級(jí)學(xué)生管理系統(tǒng)的學(xué)生基本信息查詢界面,在該類中所操作的數(shù)據(jù)成員變量與錄入界面相同,也包括學(xué)生學(xué)號(hào),姓名,所學(xué)專業(yè),家庭住址,出生日期。在該類中定義了一個(gè)構(gòu)造方法創(chuàng)建查詢界面(Inquest),和一個(gè)接口方法(actionPerformed)該類的主要成員變量和主要方法如表5和表6所示:表5 主要成員變量屬性描述變量類型變量名稱存放“學(xué)生”對(duì)象的表Hashtable基本信息表顯示學(xué)生基本信息文本JTextField學(xué)號(hào),姓名,所學(xué)專業(yè)等表6 主要方法定義名稱功能備注Inquest創(chuàng)建查詢界
10、面構(gòu)造方法actionPerformed處理ActionEvent事件接口方法3.4 修改界面ModifySituation.java該文件的類負(fù)責(zé)創(chuàng)建班級(jí)學(xué)生管理系統(tǒng)的學(xué)生基本信息修改界面,在該類中可以對(duì)各個(gè)成員變量進(jìn)行修改,可以修改學(xué)生學(xué)號(hào),姓名,所學(xué)專業(yè),家庭住址及出生日期,同樣在該類中也創(chuàng)建了一個(gè)構(gòu)造方法和接口方法:創(chuàng)建學(xué)生信息修改界面(ModifySituation)和處理ActionEvent事件(actionPerform)。主要的成員變量如表7所示,主要方法如表8所示:表7 主要成員變量描述變量類型變量名稱存放“學(xué)生”對(duì)象的散列表Hashtabel基本信息表輸入學(xué)生基本信息的文
11、本條JTextField學(xué)號(hào),姓名,所學(xué)專業(yè)等表8主要方法名稱功能備注ModifySituation創(chuàng)建學(xué)生信息修改界面構(gòu)造方法actionPerform處理ActionEvent事件接口方法3.5 刪除界面Delete.java該文件的類負(fù)責(zé)創(chuàng)建班級(jí)學(xué)生管理系統(tǒng)的學(xué)生信息刪除界面。當(dāng)用戶要?jiǎng)h除某一個(gè)學(xué)生的信息時(shí),輸入要?jiǎng)h除的學(xué)生學(xué)號(hào),這時(shí)系統(tǒng)會(huì)提示用戶是否要?jiǎng)h除所選擇的學(xué)生信息,刪除后在學(xué)生信息表中會(huì)刪除該學(xué)生的記錄。在該類中定義的主要成員變量和主要方法如表9和表10所示:表9 主要成員變量描述變量類型變量名稱存放“學(xué)生”對(duì)象的散列Hashtable基本信息表顯示學(xué)生基本信息的文本條JTex
12、tField學(xué)號(hào),姓名,所學(xué)專業(yè)等表10 主要方法名稱功能備注Delete創(chuàng)建學(xué)生信息刪除界面構(gòu)造方法actionPerformed處理ActionEvent接口方法3.6 學(xué)生對(duì)象Student.java負(fù)責(zé)創(chuàng)建存放學(xué)生信息的對(duì)象。正如前面所述,在本次課程設(shè)計(jì)所開發(fā)的系統(tǒng)中,其他模塊所操作的成員變量都存放在學(xué)生對(duì)象Student.java類中,且該類是StudentSituation類的子類,也是主類的間接子類,所以該類繼承了這兩個(gè)類的成員變量和成員方法。在該類中所定義的主要成員變量和主要方法如表11和表12所示:表11 主要成員變量描述變量類型變量名稱學(xué)號(hào)StringNumber姓名Str
13、ingName所學(xué)專業(yè)StringDiscipling家庭住址StringGrade出生StringBorth性別StringSex表12 主要方法名稱功能Setnumber設(shè)置學(xué)號(hào)Setnumber獲取學(xué)號(hào)Setname設(shè)置姓名Setname獲取姓名setDisciping設(shè)置所學(xué)專業(yè)setDisciping獲取所學(xué)專業(yè)setGrade設(shè)置家庭住址setGrade獲取家庭住址setBorth設(shè)置出生setBorth獲取出生setSex設(shè)置性別setSex獲取性別三 程序運(yùn)行結(jié)果本程序?yàn)橐缓?jiǎn)單的班級(jí)管理系統(tǒng),功能比較單一,但是基本功能還是實(shí)現(xiàn)了,能夠?qū)W(xué)生基本資料的錄入,修改,刪除以及查詢。1
14、 主界面窗口程序運(yùn)行后在主界面窗口上有一個(gè)菜單項(xiàng)“菜單選項(xiàng)”,該菜單包括五個(gè)下拉菜單:“錄入學(xué)生基本信息”,“修改學(xué)生基本信息”,“查詢學(xué)生基本信息”,“刪除學(xué)生基本信息”,“退出系統(tǒng)”。程序運(yùn)行的主要界面如圖三所示:圖三 系統(tǒng)主窗口2 錄入窗口界面 進(jìn)入主界面窗口后,點(diǎn)擊“錄入學(xué)生基本信息”下拉菜單項(xiàng),填寫完學(xué)生基本信息點(diǎn)擊錄入,在彈出的對(duì)話框中選擇“是”,這樣用戶就可以錄入學(xué)生的基本信息。具體功能演示如下圖四所示:圖四 錄入窗口界面3 學(xué)生信息修改界面當(dāng)用戶想要修改某一學(xué)生的基本信息時(shí),輸入待修改學(xué)生的學(xué)號(hào),點(diǎn)擊開始修改,即可對(duì)學(xué)生信息中的任意一項(xiàng)進(jìn)行修改。當(dāng)修改完成時(shí),點(diǎn)擊錄入修改。在如
15、圖五所示的對(duì)話框中選擇“確定”,即可完成對(duì)學(xué)生信息的修改。圖五 學(xué)生信息修改界面4 學(xué)生信息查詢界面 當(dāng)用戶想要查詢某個(gè)學(xué)生的基本信息時(shí),只需要在查詢界面中輸入待查詢學(xué)生的學(xué)號(hào),點(diǎn)擊“查詢”即可查詢到學(xué)生的基本信息。具體功能圖如圖六所示:圖六 學(xué)生信息查詢界面5 學(xué)生信息刪除界面同樣,當(dāng)用戶想要?jiǎng)h除某個(gè)學(xué)生的基本信息時(shí),也只需輸入待刪除學(xué)生的學(xué)號(hào),點(diǎn)擊“刪除”,在彈出的對(duì)話框中點(diǎn)擊確定,即可完成對(duì)學(xué)生基本信息的刪除操作。程序運(yùn)行界面如圖七所示圖七 學(xué)生信息刪除界面四 總結(jié)展望這次課程設(shè)計(jì)作業(yè)使我對(duì)用Java面向?qū)ο笳Z言編程產(chǎn)生了極大興趣。通過這次課程設(shè)計(jì)也著實(shí)讓自己感受到了一次編程的樂趣,從中
16、也學(xué)到了不少知識(shí)。由于在本系統(tǒng)涉及到的數(shù)據(jù)對(duì)象較多,且而由于Java面向?qū)ο笤O(shè)計(jì)中對(duì)異常處理的嚴(yán)格要求,所以在本次課程設(shè)計(jì)中深刻體會(huì)到了在程序開發(fā)中對(duì)問題的全面考慮,如果對(duì)某個(gè)操作可能出現(xiàn)的異常考慮不到,將會(huì)使程序運(yùn)行中出現(xiàn)錯(cuò)誤。在該系統(tǒng)中還運(yùn)用了Java中所提供的兩個(gè)處理圖形用戶界面的類庫:java.awt包javax.swing包。在所定義的幾個(gè)模塊中都用到了這兩個(gè)包,用于設(shè)計(jì)圖形用戶界面。通過對(duì)圖形用戶界面的設(shè)計(jì),對(duì)這兩個(gè)包中的標(biāo)簽,文本,框架及容器等類的常用方法都有了比較深刻的了解。在這次實(shí)驗(yàn)中,對(duì)系統(tǒng)中成員變量和成員方法的調(diào)用也進(jìn)行了很多種嘗試,已經(jīng)能夠相對(duì)準(zhǔn)確的選擇合適的參數(shù)形式來
17、實(shí)現(xiàn)函數(shù)之間的數(shù)據(jù)傳輸交互了,同時(shí)也體會(huì)到了類的繼承在程序設(shè)計(jì)中的巨大優(yōu)勢(shì)。不過,在用Java開發(fā)類似的軟件時(shí),發(fā)現(xiàn)在圖形界面的設(shè)計(jì)方面遠(yuǎn)沒有用VB,VF等開發(fā)工具簡(jiǎn)單。五 各功能模塊的主要代碼import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.io.*;import java.util.*;public class StudentSituation extends JPanel implements ActionListener Hashtable 基本信息表=null; JTextField
18、學(xué)號(hào),姓名,所學(xué)專業(yè),家庭住址,出生日期; JRadioButton 男,女; Student 學(xué)生=null; ButtonGroup group=null; JButton 錄入,重置; FileInputStream inOne=null; ObjectInputStream inTwo=null; FileOutputStream outOne=null; ObjectOutputStream outTwo=null; File file=null; public StudentSituation(File file) 學(xué)號(hào)=new JTextField(10); 姓名=new JTe
19、xtField(10); 所學(xué)專業(yè)=new JTextField(10); 家庭住址=new JTextField(10); 出生日期=new JTextField(10); group=new ButtonGroup(); 男=new JRadioButton("男",true); 女=new JRadioButton("女",false);group.add(男); group.add(女); 錄入=new JButton("錄入"); 重置=new JButton("重置"); 錄入.addActionLis
20、tener(this);重置.addActionListener(this); Box box1=Box.createHorizontalBox(); box1.add(new JLabel("學(xué)號(hào):",JLabel.CENTER); box1.add(學(xué)號(hào)); Box box2=Box.createHorizontalBox(); box2.add(new JLabel("姓名:",JLabel.CENTER); box2.add(姓名); Box box3=Box.createHorizontalBox(); box3.add(new JLabel(
21、"性別:",JLabel.CENTER); box3.add(男); box3.add(女); Box box4=Box.createHorizontalBox(); box4.add(new JLabel("所學(xué)專業(yè):",JLabel.CENTER); box4.add(所學(xué)專業(yè)); Box box5=Box.createHorizontalBox(); box5.add(new JLabel("家庭住址:",JLabel.CENTER); box5.add(家庭住址); Box box6=Box.createHorizontalB
22、ox(); box6.add(new JLabel("出生日期:",JLabel.CENTER); box6.add(出生日期); Box boxH=Box.createVerticalBox(); boxH.add(box1); boxH.add(box2); boxH.add(box3); boxH.add(box4); boxH.add(box5); boxH.add(box6); boxH.add(Box.createVerticalGlue(); JPanel pCenter=new JPanel(); pCenter.add(boxH); setLayout(n
23、ew BorderLayout(); add(pCenter,BorderLayout.CENTER); JPanel pSouth=new JPanel(); pSouth.add(錄入); pSouth.add(重置);add(pSouth,BorderLayout.SOUTH); validate(); public void actionPerformed(ActionEvent e) if(e.getSource()=錄入) String number="" number=學(xué)號(hào).getText();if(number.length()>0) try inOn
24、e=new FileInputStream(file); inTwo=new ObjectInputStream(inOne); 基本信息表=(Hashtable)inTwo.readObject(); inOne.close(); inTwo.close(); catch(Exception ee) if(基本信息表.containsKey(number) String warning="該生基本信息已存在,請(qǐng)到修改頁面修改!" JOptionPane.showMessageDialog(this,warning,"警告",JOptionPane.WA
25、RNING_MESSAGE); else String m="基本信息將被錄入!" int ok=JOptionPane.showConfirmDialog(this,m,"確認(rèn)",JOptionPane.YES_NO_OPTION,import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.io.*;import java.util.*;public class Inquest extends JDialog implements ActionListener H
26、ashtable 基本信息表=null; JTextField 學(xué)號(hào),姓名,所學(xué)專業(yè),家庭住址,出生日期; JRadioButton 男,女; JButton 查詢;ButtonGroup group=null; FileInputStream inOne=null; ObjectInputStream inTwo=null; File file=null; public Inquest(JFrame f,File file) super(f,"查詢對(duì)話框",false); this.file=file; 學(xué)號(hào)=new JTextField(10); 查詢=new JBut
27、ton("查詢"); 學(xué)號(hào).addActionListener(this); 查詢.addActionListener(this); 姓名=new JTextField(10); 姓名.setEditable(false); 所學(xué)專業(yè)=new JTextField(10); 所學(xué)專業(yè).setEditable(false); 家庭住址=new JTextField(10); 家庭住址.setEditable(false); 出生日期=new JTextField(10); 出生日期.setEditable(false); 男=new JRadioButton("男&
28、quot;,false); 女=new JRadioButton("女",false);group=new ButtonGroup(); group.add(男);public void actionPerformed(ActionEvent e) 姓名.setText(null); 所學(xué)專業(yè).setText(null); 家庭住址.setText(null); 出生日期.setText(null); if(e.getSource()=查詢|e.getSource()=學(xué)號(hào)) String number="" number=學(xué)號(hào).getText(); i
29、f(number.length()>0) try inOne=new FileInputStream(file); inTwo=new ObjectInputStream(inOne); 基本信息表=(Hashtable)inTwo.readObject(); inOne.close(); inTwo.close(); catch(Exception ee) if(基本信息表.containsKey(number) Student stu=(Student)基本信息表.get(number); 姓名.setText(stu.getName(); 所學(xué)專業(yè).setText(stu.getD
30、isciping(); 家庭住址.setText(stu.getGrade(); 出生日期.setText(stu.getBorth(); String warning="該學(xué)號(hào)不存在!" String warning="必須要輸入學(xué)號(hào)!" JOptionPane.showMessageDialog(this,warning,"警告",JOptionPane.WARNING_MESSAGE); import java.awt.*;import java.awt.event.*;import javax.swing.*;import j
31、ava.io.*;import java.util.*;public class Delete extends JPanel implements ActionListener Hashtable 基本信息表=null; JTextField 學(xué)號(hào),姓名,所學(xué)專業(yè),家庭住址,出生日期; JRadioButton 男,女; JButton 刪除; ButtonGroup group=null; FileInputStream inOne=null; FileOutputStream outOne=null; ObjectOutputStream outTwo=null; File file=nu
32、ll; public Delete(File file) this.file=file; 學(xué)號(hào)=new JTextField(10); 刪除=new JButton("刪除"); 學(xué)號(hào).addActionListener(this);刪除.addActionListener(this); 姓名=new JTextField(10); 姓名.setEditable(false); 所學(xué)專業(yè)=new JTextField(10); 所學(xué)專業(yè).setEditable(false); 家庭住址=new JTextField(10); 家庭住址.setEditable(false);
33、 出生日期=new JTextField(10);出生日期.setEditable(false); 男=new JRadioButton("男",false); 女=new JRadioButton("女",false);public void actionPerformed(ActionEvent e) if(e.getSource()=刪除|e.getSource()=學(xué)號(hào)) String number="" number=學(xué)號(hào).getText(); if(number.length()>0) try inOne=new F
34、ileInputStream(file); inTwo=new ObjectInputStream(inOne); 基本信息表=(Hashtable)inTwo.readObject(); inOne.close(); inTwo.close(); catch(Exception ee) if(基本信息表.containsKey(number) Student stu=(Student)基本信息表.get(number); 姓名.setText(stu.getName(); 所學(xué)專業(yè).setText(stu.getDisciping(); 家庭住址.setText(stu.getGrade()
35、; 出生日期.setText(stu.getBorth(); if(stu.getSex().equals("男") 男.setSelected(true); else 女.setSelected(true); public void actionPerformed(ActionEvent e) if(e.getSource()=開始修改|e.getSource()=學(xué)號(hào)) String number="" number=學(xué)號(hào).getText(); if(number.length()>0) try inOne=new FileInputStrea
36、m(file); inTwo=new ObjectInputStream(inOne); 基本信息表=(Hashtable)inTwo.readObject(); inOne.close(); inTwo.close(); catch(Exception ee) if(基本信息表.containsKey(number) 錄入修改.setEnabled(true); Student stu=(Student)基本信息表.get(number); 姓名.setText(stu.getName(); 所學(xué)專業(yè).setText(stu.getDisciping(); 家庭住址.setText(stu.
37、getGrade(); 出生日期.setText(stu.getBorth(); if(stu.getSex().equals("男") 男.setSelected(true); else 女.setSelected(true); import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.io.*;import java.util.Hashtable;public class StudentManager extends JFrame implements ActionListene
38、r StudentSituation 基本信息錄入=null; ModifySituation 基本信息修改=null; Inquest 基本信息查詢=null; Delete 基本信息刪除=null; JMenuBar bar; JMenu fileMenu; JMenuItem 錄入,修改,查詢,刪除,退出; Container con=null; Hashtable 基本信息=null; File file=null; CardLayout card=null; JLabel label; JPanel pCenter; public StudentManager() setTitle(
39、"歡迎進(jìn)入班級(jí)管理系統(tǒng)"); 錄入=new JMenuItem("錄入學(xué)生基本信息"); 修改=new JMenuItem("修改學(xué)生基本信息"); 查詢=new JMenuItem("查詢學(xué)生基本信息"); 刪除=new JMenuItem("刪除學(xué)生基本信息"); 退出=new JMenuItem("退出本系統(tǒng)"); 退出.addActionListener(new ActionListener() public void actionPerformed(ActionEvent event) System.exit(0); label=new JLabel("歡迎進(jìn)入班級(jí)管理系統(tǒng)!",label.CENTER); label.setFont(new Font("隸書",Font.BOLD,30); label.setFore
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 浙教版數(shù)學(xué)七年級(jí)下冊(cè)《3.5 整式的化簡(jiǎn)》聽評(píng)課記錄1
- 湘教版地理八年級(jí)下冊(cè)《第一節(jié) 北京市的城市特征與建設(shè)成就》1課時(shí)聽課評(píng)課記錄
- 八年級(jí)道德與法治下冊(cè)第二單元理解權(quán)利義務(wù)第四課公民義務(wù)第1框公民基本義務(wù)聽課評(píng)課記錄(新人教版)
- 湘教版數(shù)學(xué)九年級(jí)上冊(cè)第一章《反比例函數(shù)》復(fù)習(xí)聽評(píng)課記錄
- 人教部編版九年級(jí)歷史上冊(cè):第15課 探尋新航路 聽課評(píng)課記錄
- 蘇科版七年級(jí)數(shù)學(xué)上冊(cè)《3.4.2合并同類項(xiàng)》聽評(píng)課記錄
- 通??谛W(xué)一年級(jí)口算測(cè)試卷
- 蘇教版四年級(jí)數(shù)學(xué)下冊(cè)期末復(fù)習(xí)口算練習(xí)題一
- 月業(yè)務(wù)經(jīng)理聘用協(xié)議書范本
- 二手房房屋買賣協(xié)議書范本
- (新版)非阿片類鎮(zhèn)痛藥治療慢性疼痛病中國指南
- 臺(tái)球運(yùn)動(dòng)中的理論力學(xué)
- “高中英語閱讀課件-閱讀策略與技巧”
- GB/T 25922-2023封閉管道中流體流量的測(cè)量用安裝在充滿流體的圓形截面管道中的渦街流量計(jì)測(cè)量流量
- 培訓(xùn)-責(zé)任心課件
- 最高人民法院婚姻法司法解釋(二)的理解與適用
- 關(guān)于醫(yī)保應(yīng)急預(yù)案
- 安徽杭富固廢環(huán)保有限公司10萬噸工業(yè)廢物(無機(jī)類)資源化利用及無害化處置項(xiàng)目環(huán)境影響報(bào)告書
- 新人教版五年級(jí)上冊(cè)數(shù)學(xué)應(yīng)用題大全doc
- 商業(yè)綜合體市場(chǎng)調(diào)研報(bào)告
- GB/T 42096-2022飛機(jī)耐火電纜性能要求
評(píng)論
0/150
提交評(píng)論