java學(xué)籍管理系統(tǒng)報(bào)告_第1頁
java學(xué)籍管理系統(tǒng)報(bào)告_第2頁
java學(xué)籍管理系統(tǒng)報(bào)告_第3頁
java學(xué)籍管理系統(tǒng)報(bào)告_第4頁
java學(xué)籍管理系統(tǒng)報(bào)告_第5頁
已閱讀5頁,還剩39頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、JAVA 技術(shù)大作業(yè)院 (系)電氣與信息工程學(xué)院專業(yè)班級(jí)計(jì)算機(jī)科學(xué)與技術(shù) 09-02學(xué)生姓名 桂 林 學(xué)號(hào) 06成績(jī)2011 年 08 月 31 日摘要隨著高校的擴(kuò)招,大學(xué)生的數(shù)量也不斷的在增加,傳統(tǒng)的 “一支筆,一本通訊 錄”的學(xué)籍管理方式也慢慢的無法適應(yīng)形勢(shì)的變化。隨著信息技術(shù)的發(fā)展,計(jì)算機(jī) 已被廣泛的用于社會(huì)的各個(gè)領(lǐng)域,成為推動(dòng)社會(huì)發(fā)展的技術(shù)動(dòng)力。而在計(jì)算機(jī)應(yīng)用 中,軟件的作用十分突出,軟件已經(jīng)發(fā)展成為信息技術(shù)的核心,主導(dǎo)著信息產(chǎn)品的 開發(fā)和信息技術(shù)市場(chǎng)的進(jìn)一步的開拓。軟件產(chǎn)業(yè)已成為社會(huì)信息化進(jìn)程中的一個(gè)戰(zhàn) 略性產(chǎn)業(yè)。在軟件技術(shù)的應(yīng)用中軟件的開發(fā)技術(shù)尤其是應(yīng)用型軟件產(chǎn)品的開發(fā)技術(shù) 成了重

2、中之重。不斷開發(fā)適應(yīng)用戶需求、市場(chǎng)需要的新型軟件產(chǎn)品。隨著社會(huì)的發(fā) 展,軟件也在不斷的更新?lián)Q代。由于有些學(xué)校里對(duì)學(xué)生的成績(jī)、入學(xué)、畢業(yè)等的一些繁瑣處理都是通過手工進(jìn) 行記載并進(jìn)行處理的, 對(duì)學(xué)生數(shù)據(jù)的處理工作量特別大, 不僅浪費(fèi)大量的人力物力, 而且還很容易出錯(cuò)。如果有這樣一套完整的學(xué)籍管理軟件,只需點(diǎn)擊幾下鼠標(biāo)就可 完成所需操作,那樣就會(huì)大大的提高教師的工作效率和管理水平。并能進(jìn)一步提高 學(xué)校的工作效率并使學(xué)校實(shí)施規(guī)范化管理。學(xué)生學(xué)籍管理系統(tǒng)是一個(gè)教育單位不可缺少的部分。它的內(nèi)容對(duì)于學(xué)校的決策 者和管理者乃至教師和學(xué)生來說都至關(guān)重要 , 所以學(xué)生學(xué)籍管理系統(tǒng)應(yīng)該能夠?yàn)橛?戶提供充足的信息和快

3、捷的查詢手段。一直以來人們使用傳統(tǒng)人工的方式管理學(xué)生 工作 , 這種管理方式存在著許多缺點(diǎn) , 如 : 效率低、保密性差 , 另外時(shí)間一長(zhǎng) , 將產(chǎn) 生大量的冗余文件和數(shù)據(jù) , 這給查找、更新和維護(hù)工作都帶來了很大的困難。鑒于 學(xué)生學(xué)籍管理中存在的諸多問題 , 我們?cè)诖舜握n程設(shè)計(jì)中以學(xué)生學(xué)籍管理系統(tǒng)為研 究課題,對(duì)此系統(tǒng)進(jìn)行了全面的設(shè)計(jì)。關(guān)鍵詞 查詢,學(xué)籍管理,學(xué)生信息目錄摘要 目 錄 1 設(shè)計(jì)目的與內(nèi)容錯(cuò)誤.!.未定. 義書簽課程設(shè)計(jì)目的課程設(shè)計(jì)內(nèi)容錯(cuò). 誤 !未定義書簽錯(cuò). 誤 !未定義書簽2 具體要求錯(cuò).誤 !.未.定. 義書簽設(shè)計(jì)要求 錯(cuò). 誤!未定義書簽。3 總體設(shè)計(jì)思路.開發(fā)環(huán)境

4、錯(cuò). 誤 !未定義書簽。.錯(cuò).誤!.未.定. 義書簽系統(tǒng)的功能模塊劃分錯(cuò). 誤 !未定義書簽系統(tǒng)總體功能框圖錯(cuò). 誤 !未定義書簽4 詳細(xì)設(shè)計(jì)錯(cuò).誤!.未.定. 義書簽程序流程圖如下 主界面函數(shù)的設(shè)計(jì) 錄入界面設(shè)計(jì) 修改界面和函數(shù)的設(shè)計(jì)刪除界面和函數(shù)的設(shè)計(jì).錯(cuò). 誤!未定義書簽 .錯(cuò). 誤 !未定義書簽 .錯(cuò). 誤!未定義書簽 錯(cuò). 誤 !未定義書簽 .錯(cuò). 誤 !未定義書簽5 功能調(diào)試與測(cè)試主界面和函數(shù)的測(cè)試 學(xué)生信息的錄入測(cè)試 學(xué)生信息的查詢測(cè)試 修改學(xué)生信息的測(cè)試 刪除學(xué)生信息的測(cè)試錯(cuò)誤.!.未定. 義書簽 .錯(cuò). 誤 !未定義書簽。 錯(cuò). 誤 !未定義書簽。 錯(cuò). 誤 !未定義書簽。

5、錯(cuò). 誤 !未定義書簽。 錯(cuò). 誤 !未定義書簽。6 總結(jié)錯(cuò)誤.!.未定.義. 書簽致謝錯(cuò)誤.!.未定.義. 書簽參考文獻(xiàn)錯(cuò)誤.!.未定.義. 書簽附源程序錯(cuò)誤.!.未定.義. 書簽1 設(shè)計(jì)目的與內(nèi)容課程設(shè)計(jì)目的通過設(shè)計(jì)圖形用戶界面的學(xué)籍管理系統(tǒng),提高學(xué)生 Java 語言的綜合運(yùn)用。 Java語言是從事軟件開發(fā)的一門必修的專業(yè)基礎(chǔ)課, 這次的課程設(shè)計(jì)目的將 Java 的知識(shí)點(diǎn)系統(tǒng)的結(jié)合起來, 理解并加深對(duì)教師所授內(nèi)容的理解和掌握, 掌握其開 發(fā)技巧,為以后從事 Java程序開發(fā)打下基礎(chǔ)。課程設(shè)計(jì)內(nèi)容“錄入學(xué)生基本信息功能的界面。 用戶可以通過菜單選項(xiàng)讓程序呈現(xiàn) “錄入 學(xué)生基本信息”功能的界面

6、,通過該界面可以錄入學(xué)生的學(xué)號(hào)、姓名、性別、出 生日期、專業(yè)和照片等信息。修改學(xué)生基本信息功能的界面。 用戶可以通過菜單選項(xiàng)讓程序呈現(xiàn) “修改學(xué) 生基本信息”功能的界面,通過該界面可以對(duì)已錄入的學(xué)生信息進(jìn)行修改。查詢學(xué)生基本信息功能的界面。 用戶可以通過菜單選項(xiàng)讓程序呈現(xiàn) “查詢與 打印學(xué)生基本信息” 功能的界面,通過該界面可以對(duì)已錄入的學(xué)生信息進(jìn)行查詢。刪除學(xué)生基本信息功能的界面。 用戶可以通過菜單選項(xiàng)讓程序呈現(xiàn) “刪除學(xué) 生基本信息”功能的界面,通過該界面可以刪除已錄入的學(xué)生信息。2 具體要求設(shè)計(jì)要求要求設(shè)計(jì)出圖形用戶界面學(xué)籍管理系統(tǒng), 實(shí)現(xiàn)學(xué)生信息的錄入、 查詢、修改、 刪除等。界面要求

7、: a.盡量使用圖形界面實(shí)現(xiàn),要符合日常軟件使用規(guī)范來設(shè)計(jì)菜單和界面。 b.若無法實(shí)現(xiàn)圖形界面, 則在命令行方式下也需要提供菜單, 方便用戶操 作。其他要求:a. 標(biāo)識(shí)符命名遵循 Windows 命名規(guī)范。b. 能夠注意各種異常處理,注重提高程序運(yùn)行效率。開發(fā)環(huán)境NetBeans IDE 并裝有 Jdk的計(jì)算機(jī)3 總體設(shè)計(jì)思路系統(tǒng)的功能模塊劃分通過“ public class StudentManager extends JFrame implements ActionListen”er 此類來生成學(xué)籍管理系統(tǒng)的主界面再通過函 數(shù) public void actionPerformed(Act

8、ionEvent e)來實(shí)現(xiàn)對(duì)各個(gè)類得調(diào)用。 如:調(diào)用 StudentSituation 類來完成對(duì)基本信息錄入;調(diào)用 ModifySituation 類來完成對(duì)學(xué)生基本信息修改; 調(diào)用 Inquest 類來完成對(duì)學(xué)生基本信息查詢;調(diào)用 Delete 類來完成對(duì)學(xué)生基本信 息刪除。系統(tǒng)總體功能框圖3-1 學(xué)籍管理系統(tǒng)功能總框圖4 詳細(xì)設(shè)計(jì)程序流程圖如下主界面函數(shù)的設(shè)計(jì)主界面主要是用來調(diào)用程序中的給個(gè)類來實(shí)現(xiàn)對(duì)學(xué)生信息的管理和一個(gè)歡迎界面的設(shè)計(jì)以及菜單項(xiàng)的內(nèi)容。主界面主要是通過 ()函數(shù)來實(shí)現(xiàn)一個(gè)歡迎界面和菜單選項(xiàng)(包括錄入學(xué)生基本信息、修改學(xué)生基本信息、查詢學(xué)生基本信息、刪除學(xué)生基本信息) ,

9、然后再 通過 (ActionEvent)函數(shù)來實(shí)現(xiàn)對(duì)各個(gè)類得調(diào)用從而實(shí)現(xiàn)對(duì)信息的錄入、修改、查 詢、刪除等事件的處理。錄入界面設(shè)計(jì)錄入信息的界面主要是通過 StudentSituation 類來實(shí)現(xiàn)的。其中通過函數(shù) (File) 來實(shí)現(xiàn)界面的內(nèi)容。通過函數(shù) (ActionEvent)來實(shí)現(xiàn)具體內(nèi)容的錄入。具體設(shè)計(jì)如 下:public void actionPerformed(ActionEvent e)if()=錄入)String number="" number=學(xué)號(hào) .getText();if()>0) try inOne=new FileInputStream(

10、file); inTwo=new ObjectInputStream(inOne); 基本信息表 =(Hashtable)();();(); catch(Exception ee)if( 基本信息表 .containsKey(number)String warning=" 該生基本信息已存在 ,請(qǐng)到修改頁面修 改!"(this,warning,"警告",;elseString m="基本信息將被錄入 !"int ok=(this,m," 確認(rèn)",if(ok=String name=姓名 .getText();Str

11、ing discipling=專業(yè) .getText();String grade=年級(jí) .getText();String borth=出生 .getText();String sex=null;if(男.isSelected()sex=男.getText();elsesex=女.getText();學(xué)生=new Student(); 學(xué)生 .setNumber(number); 學(xué)生 .setName(name); 學(xué)生 .setDiscipling(discipling); 學(xué)生 .setGrade(grade); 學(xué)生 .setBorth(borth); 學(xué)生 .setSex(sex)

12、;tryoutOne=new FileOutputStream(file); outTwo=new ObjectOutputStream(outOne); 基本信息表 .put(number,學(xué)生 ); (基本信息表 );();();學(xué)號(hào) .setText(null);姓名 .setText(null);專業(yè) .setText(null);年級(jí) .setText(null);出生 .setText(null);catch(Exception ee) elseString warning="必須要輸入學(xué)號(hào) !" (this,warning,"警告",;if

13、()=重置)學(xué)號(hào) .setText(null);姓名 .setText(null);專業(yè) .setText(null);年級(jí) .setText(null);出生 .setText(null);查詢界面函數(shù)的設(shè)計(jì)查詢信息的界面主要是通過 Inquest 類來實(shí)現(xiàn)的。 其中通過函數(shù) (JFrame, File) 來實(shí)現(xiàn)界面的設(shè)計(jì)和外觀。通過函數(shù) (ActionEvent)來實(shí)現(xiàn)具體信息的輸出。輸出 信息具體設(shè)計(jì)如下:public void actionPerformed(ActionEvent e)姓名 .setText(null);專業(yè) .setText(null);年級(jí) .setText(nu

14、ll);出生 .setText(null);if()=查詢 |()= 學(xué)號(hào) )String number="" number=學(xué)號(hào) .getText();if()>0)try inOne=new FileInputStream(file);inTwo=new ObjectInputStream(inOne);基本信息表 =(Hashtable)();();();catch(Exception ee)if( 基本信息表 .containsKey(number)Student stu=(Student)基本信息表 .get(number);姓名 .setText();專業(yè)

15、 .setText();年級(jí) .setText();出生 .setText();if().equals("男") 男.setSelected(true);else 女.setSelected(true);elseString warning="該學(xué)號(hào)不存在 !"else(this,warning,"警告",;String warning="必須要輸入學(xué)號(hào) !" (this,warning,"警告",;修改界面和函數(shù)的設(shè)計(jì)修改信息的界面主要是通過 ModifySituation 類來實(shí)現(xiàn)的。其中通

16、過函數(shù) (File) 來實(shí)現(xiàn)界面的設(shè)計(jì)和外觀。 通過函數(shù) (ActionEvent)來實(shí)現(xiàn)具體信息的修改和保存。 信息修改的具體設(shè)計(jì)如下:public void actionPerformed(ActionEvent e)if()=開始修改|()= 學(xué)號(hào))String number=""number=學(xué)號(hào) .getText();if()>0)try inOne=new FileInputStream(file);inTwo=new ObjectInputStream(inOne); 基本信息表 =(Hashtable)();();();catch(Exception

17、ee)if( 基本信息表 .containsKey(number)錄入修改 .setEnabled(true);Student stu=(Student)基本信息表 .get(number);姓名 .setText();專業(yè) .setText();年級(jí) .setText();出生 .setText();if().equals("男")男.setSelected(true);else女.setSelected(true);else錄入修改 .setEnabled(false);String warning="該學(xué)號(hào)不存在 !"(this,warning,&

18、quot;警告",;學(xué)號(hào) .setText(null);姓名 .setText(null);專業(yè) .setText(null);年級(jí) .setText(null);出生 .setText(null);else錄入修改 .setEnabled(false);String warning="必須要輸入學(xué)號(hào) !"(this,warning,"警告",;學(xué)號(hào) .setText(null);姓名 .setText(null);專業(yè) .setText(null);年級(jí) .setText(null);出生 .setText(null);else if()=錄

19、入修改 )String number="" number=學(xué)號(hào) .getText();if()>0)try inOne=new FileInputStream(file); inTwo=new ObjectInputStream(inOne); 基本信息表 =(Hashtable)();();();catch(Exception ee)if(基本信息表 .containsKey(number)String question="該生基本信息已存在 ,您想修改他 (她)的基本信息嗎 "(this,question,"警告 ",;St

20、ring m="基本信息將被修改 !"int ok=(this,m,"確認(rèn) ", if(ok=String name=姓名 .getText();String discipling=專業(yè) .getText();String grade=年級(jí) .getText();String borth=出生 .getText();String sex=null;if(男.isSelected() sex=男.getText();else sex=女.getText();Student 學(xué)生 =new Student();學(xué)生 .setNumber(number);學(xué)生

21、 .setName(name);學(xué)生 .setDiscipling(discipling);學(xué)生 .setGrade(grade);學(xué)生 .setBorth(borth);學(xué)生 .setSex(sex);tryoutOne=new FileOutputStream(file); outTwo=new ObjectOutputStream(outOne);基本信息表 .put(number,學(xué)生 ); (基本信息表 );();();學(xué)號(hào).setText(null);姓名.setText(null);專業(yè).setText(null);年級(jí).setText(null);出生.setText(null

22、);catch(Exception ee)錄入修改 .setEnabled(false);else if(ok=錄入修改 .setEnabled(true);elseString warning="該學(xué)號(hào)沒有基本信息 ,不能修改 !"(this,warning,"警告",;錄入修改 .setEnabled(false); elseString warning="必須要輸入學(xué)號(hào) !" (this,warning,"警告",; if()=重置) 錄入修改 .setEnabled(false);學(xué)號(hào) .setText(n

23、ull);姓名 .setText(null);專業(yè) .setText(null);年級(jí) .setText(null); 出生 .setText(null);刪除界面和函數(shù)的設(shè)計(jì)刪除信息的界面主要是通過 Delete 類來實(shí)現(xiàn)的。其中通過函數(shù) (File)來實(shí)現(xiàn) 界面的設(shè)計(jì)和外觀。通過函數(shù) (ActionEvent)來實(shí)現(xiàn)具體數(shù)據(jù)的刪除和管理。信息 刪除的具體設(shè)計(jì)如下:public void actionPerformed(ActionEvent e)if()=刪除 |()= 學(xué)號(hào) )String number=""number=學(xué)號(hào) .getText();if()>0

24、)try inOne=new FileInputStream(file); inTwo=new ObjectInputStream(inOne); 基本信息表 =(Hashtable)();();(); catch(Exception ee)if( 基本信息表 .containsKey(number)Student stu=(Student)基本信息表 .get(number); 姓名 .setText(); 專業(yè) .setText(); 年級(jí) .setText(); 出生 .setText();if().equals("男") 男.setSelected(true);el

25、se 女.setSelected(true);String m="確定要?jiǎng)h除該學(xué)號(hào)及全部信息嗎 " int ok=(this,m,"確認(rèn) ",if(ok= 基本信息表 .remove(number); try outOne=new FileOutputStream(file); outTwo=new ObjectOutputStream(outOne); (基本信息表 );();(); 學(xué)號(hào).setText(null); 姓名.setText(null); 專業(yè).setText(null); 年級(jí).setText(null); 出生.setText(nu

26、ll); catch(Exception ee)else if(ok=學(xué)號(hào) .setText(null);姓名 .setText(null);專業(yè) .setText(null);年級(jí) .setText(null);出生 .setText(null);elseString warning="該學(xué)號(hào)不存在 !"(this,warning,"警告",;elseString warning="必須要輸入學(xué)號(hào) !"(this,warning,"警告",;5 功能調(diào)試與測(cè)試主界面和函數(shù)的測(cè)試圖主界面函數(shù)學(xué)生信息的錄入測(cè)試圖錄入

27、學(xué)生信息學(xué)生信息的查詢測(cè)試:圖查詢信息修改學(xué)生信息的測(cè)試:圖修改信息刪除學(xué)生信息的測(cè)試:圖刪除信息6 總結(jié)這次的課程設(shè)計(jì)主要有以下幾點(diǎn)心得(1) 確定課題后,先將熟悉該課程主要設(shè)計(jì)的主要目的,熟讀設(shè)計(jì)要求。(2) 編寫程序之前首先要進(jìn)行總體設(shè)計(jì), 確定該設(shè)計(jì)需要由哪幾部分組成, 并 確定各部分的功能,確定主類。(3) 分析完成之后畫出程序流程圖, 并開始編寫程序。 在編寫程序的過程中要 注意不能將關(guān)鍵字打錯(cuò),這樣的錯(cuò)誤不容易查出。(4) 在程序打包時(shí)要先給電腦安裝 Jdk,若不安裝,則在 Dos 環(huán)境下會(huì)出現(xiàn)找不 到源文件的提示。這次的課程設(shè)計(jì)不僅僅鞏固了 java 的知識(shí),也讓我對(duì)編程的步驟

28、有了新的理 解,以前總是先看程序,再理清各部分之間的關(guān)系,最后才會(huì)畫出程序流程圖, 這次的課程設(shè)計(jì)糾正了以前的錯(cuò)誤, 也為以后編寫 java 程序奠定了一定的基礎(chǔ)。致謝首先要感謝同學(xué)的幫忙,在他們的幫助下我才能完成這次課程設(shè)計(jì)。在這次 課程設(shè)計(jì)中我遇到了很多困難,在遇到這些困難的時(shí)候,我覺得很煩, 有點(diǎn)想放 棄。但我們宿舍的人安慰我說:“加油,努力就一定能完成的。 ”在他們的鼓勵(lì)下, 我又重新鼓起勇氣,繼續(xù)做下去, 所以我要感謝我們宿舍的舍友。 在完成程序的 過程中難免會(huì)出現(xiàn)好多問題,俗話說: “當(dāng)局者迷,旁觀者清”。我總是發(fā)現(xiàn)不了 自己的錯(cuò)誤, 然后我就會(huì)讓同學(xué)幫我看看。 最后在同學(xué)的幫助下

29、終于把程序做出 來了。我對(duì)他們深表感謝。 我要感謝我們指導(dǎo)老師, 他給我提出了許多寶貴的指 導(dǎo)。在他的幫助下我可以把它搞得更加完美。 在這里我感謝每一個(gè)幫助過我的人, 感謝他們對(duì)我的幫助。 同時(shí)我還要感謝學(xué)校給我們提供優(yōu)良的上機(jī)環(huán)境, 讓我們 能夠在良好的環(huán)境下完成本次課程設(shè)計(jì)。參考文獻(xiàn)1 耿祥義,張躍平.Java2實(shí)用教程 (第三版)M . 北京:清華大學(xué)出版社 ,20062 耿祥義.Java課程設(shè)計(jì)(第二版)M . 北京:清華大學(xué)出版社 ,20043 張躍平 .Java2實(shí)用教程實(shí)驗(yàn)指導(dǎo)與習(xí)題解答 (第二版) M. 北京:清華大學(xué)出 版社,2004附源程序/* 主界面的設(shè)計(jì) */ impo

30、rt .*;import import .*;基本信息錄入 =null; 基本信息修改 =null;基本信息查詢 =null;基本信息刪除 =null;import class StudentManager extends JFrame implements ActionListener StudentSituationModifySituationInquestDeleteJMenuBar bar;JMenu fileMenu;JMenuItem 錄入 ,修改 ,查詢 ,刪除 ;Container con=null;Hashtable 基本信息 =null;File file=null;Ca

31、rdLayout card=null;JLabel label=null;JPanel pCenter;public StudentManager()setTitle(" 學(xué)籍管理系統(tǒng) ");)錄入 =new JMenuItem(" 錄入學(xué)生基本信息 修改 =new JMenuItem(" 修改學(xué)生基本信息 查詢 =new JMenuItem(" 查詢學(xué)生基本信息 刪除 =new JMenuItem(" 刪除學(xué)生基本信息 bar=new JMenuBar();fileMenu=new JMenu(" 菜單選項(xiàng) ")

32、;(錄入 ); (修改 );(查詢 );(刪除 );(fileMenu);setJMenuBar(bar);label=new JLabel(" 歡迎使用學(xué)籍管理系統(tǒng)(new Font("TimesRoman",24);基本信息 =new Hashtable(); 錄入 .addActionListener(this); 修改 .addActionListener(this); 查詢 .addActionListener(this); 刪除 .addActionListener(this); card=new CardLayout(); con=getConten

33、tPane(); pCenter=new JPanel();(card);file=new File(" 基本信息 .txt");if(!()tryFileOutputStream out=new FileOutputStream(file); ObjectOutputStream objectOut=new ObjectOutputStream(out); (基本信息 );();();catch(IOException e)基本信息錄入 =new StudentSituation(file);基本信息修改 =new ModifySituation(file);基本信息查詢

34、 =new Inquest(this,file);基本信息刪除 =new Delete(file);(" 歡迎語界面 ",label);(" 錄入界面 ",基本信息錄入 );(" 修改界面 ",基本信息修改 );(" 刪除界面 ",基本信息刪除 );(pCenter,;();addWindowListener(new WindowAdapter() public void windowClosing(WindowEvent e)(0););setVisible(true);setBounds(100,50,420,

35、380);validate();/* 實(shí)現(xiàn)對(duì)錄入、修改、查詢與打印、刪除等事件處理 */public void actionPerformed(ActionEvent e)if()= 錄入 )(pCenter," 錄入界面 ");else if()=修改 )(pCenter," 修改界面 ");else if()=查詢 )基本信息查詢 .setVisible(true);else if()=刪除 )(pCenter," 刪除界面 ");public static void main(String args)new StudentMan

36、ager();/* 學(xué)生類的設(shè)計(jì) */* 請(qǐng)實(shí)現(xiàn)學(xué)生類 */public class Student implementsString number ,name,discipling ,grade,borth ,sex;public Student()public void setNumber(String number)=number;public String getNumber() return number ;public void setName(String name)=name;public String getName() return name;public void set

37、Discipling(String discipling) =discipling;public String getDisciping()return discipling ;public void setGrade(String grade)=grade;public String getGrade()return grade;public void setBorth(String borth)=borth;public String getBorth() return borth ;public void setSex(String sex)=sex;public String getS

38、ex() return sex;/* 錄入學(xué)生信息類設(shè)計(jì) */ import .*;import .*;import .*;import .*;public class StudentSituation extends JPanel implements ActionListener Hashtable 基本信息表 =null;JTextField 學(xué)號(hào) ,姓名,專業(yè) ,年級(jí) ,出生;JRadioButton 男,女 ;Student 學(xué)生 =null;ButtonGroup group=null; JButton 錄入 ,重置 ;FileInputStream inOne=null;Obje

39、ctInputStream inTwo=null;FileOutputStream outOne=null;ObjectOutputStream outTwo=null;File file=null;public StudentSituation(File file)=file;學(xué)號(hào) =new JTextField(10);姓名 =new JTextField(10);專業(yè) =new JTextField(10);年級(jí) =new JTextField(10);出生 =new JTextField(10);group=new ButtonGroup();男 =new JRadioButton(&

40、quot; 男 ",true);女 =new JRadioButton(" 女 ",false);(男);(女);錄入 =new JButton(" 錄入 ");重置 =new JButton(" 重置 ");錄入 .addActionListener(this);重置 .addActionListener(this);Box box1=();(new JLabel(" 學(xué)號(hào) :",);(學(xué)號(hào) );Box box2=();(new JLabel(" 姓名 :",);(姓名 );Box

41、box3=();(new JLabel(" 性別 :",);(男);(女);Box box4=();(new JLabel(" 專業(yè) :",);(專業(yè) );Box box5=();(new JLabel(" 年級(jí) :",);(年級(jí) );Box box6=();(new JLabel(" 出生 :",);(出生 );Box boxH=();(box1);(box2);(box3);(box4);(box5);(box6);();JPanel pCenter=new JPanel();(boxH);setLayout(

42、new BorderLayout();add(pCenter,;JPanel pSouth=new JPanel();(錄入 );(重置 );add(pSouth,;validate();public void actionPerformed(ActionEvent e)if()=錄入 )String number=""number= 學(xué)號(hào) .getText();if()>0)try inOne=new FileInputStream(file);inTwo=new ObjectInputStream(inOne); 基本信息表 =(Hashtable)();();(

43、);catch(Exception ee)if( 基本信息表 .containsKey(number),請(qǐng)到修改頁面修改 !"String warning=" 該生基本信息已存在(this,warning," 警告 ",;elseString m=" 基本信息將被錄入 !"出生 .setText(null);if(ok=String name=姓名 .getText();String discipling=專業(yè) .getText();String grade= 年級(jí) .getText();String borth= 出生 .getTe

44、xt();String sex=null;if(男.isSelected()sex=男 .getText();elsesex=女 .getText();學(xué)生 =new Student();學(xué)生 .setNumber(number);學(xué)生 .setName(name); 學(xué)生 .setDiscipling(discipling); 學(xué)生 .setGrade(grade);學(xué)生 .setBorth(borth);學(xué)生 .setSex(sex);tryoutOne=new FileOutputStream(file); outTwo=new ObjectOutputStream(outOne); 基

45、本信息表 .put(number, 學(xué)生 ); (基本信息表 );();();學(xué)號(hào) .setText(null);姓名 .setText(null);專業(yè) .setText(null);年級(jí) .setText(null);出生 .setText(null); catch(Exception ee)elseString warning=" 必須要輸入學(xué)號(hào) !"(this,warning," 警告 ",;if()=重置 )學(xué)號(hào) .setText(null);姓名 .setText(null);專業(yè) .setText(null);年級(jí) .setText(nul

46、l);/* 修改學(xué)生信息類得設(shè)計(jì) */import .*;import .*;import .*;import .*;public class ModifySituation extends JPanel implements ActionListener Hashtable 基本信息表 =null;JTextField 學(xué)號(hào),姓名,專業(yè) ,年級(jí),出生;JRadioButton 男,女 ;ButtonGroup group=null;JButton 開始修改 ,錄入修改 ,重置 ;FileInputStream inOne=null;ObjectInputStream inTwo=null;F

47、ileOutputStream outOne=null;ObjectOutputStream outTwo=null;File file=null;public ModifySituation(File file)=file;學(xué)號(hào) =new JTextField(10);姓名 =new JTextField(10);專業(yè) =new JTextField(10);年級(jí)=new JTextField(10);出生 =new JTextField(10);group=new ButtonGroup();男=new JRadioButton("男 ",true);女=new JRa

48、dioButton("女 ",false); (男);(女); 開始修改 =new JButton(" 開始修改 ");錄入修改 =new JButton(" 錄入修改 ");錄入修改 .setEnabled(false);重置 =new JButton(" 重置 ");學(xué)號(hào) .addActionListener(this);開始修改 .addActionListener(this);錄入修改 .addActionListener(this);重置 .addActionListener(this);Box box1

49、=();(new JLabel("輸入要修改信息的學(xué)號(hào) :",); (學(xué)號(hào));(開始修改 );Box box2=();(new JLabel("(新)姓名 :",); (姓名 );Box box3=();(new JLabel("(新)性別:",);(男);(女);Box box4=();(new JLabel("(新)專業(yè) :",);(專業(yè));Box box5=();(new JLabel("(新)年級(jí) :",);(年級(jí) );Box box6=();(new JLabel("(新)出

50、生 :",);(出生);Box boxH=();(box1);(box2);(box3);(box4);(box5);(box6);();JPanel pCenter=new JPanel();(boxH);setLayout(new BorderLayout();add(pCenter,;JPanel pSouth=new JPanel();(錄入修改 );(重置);add(pSouth,;validate();public void actionPerformed(ActionEvent e)if()=開始修改 |()= 學(xué)號(hào) )String number=""

51、;number= 學(xué)號(hào) .getText();if()>0)try inOne=new FileInputStream(file);inTwo=new ObjectInputStream(inOne);基本信息表 =(Hashtable)();();();catch(Exception ee)if( 基本信息表 .containsKey(number)錄入修改 .setEnabled(true);Student stu=(Student) 基本信息表 .get(number);姓名 .setText();專業(yè) .setText();年級(jí) .setText();出生 .setText();

52、 if().equals(" 男 ")男 .setSelected(true);else女 .setSelected(true);else錄入修改 .setEnabled(false);String warning=" 該學(xué)號(hào)不存在 !" (this,warning," 警告 ",;學(xué)號(hào) .setText(null);姓名 .setText(null);專業(yè) .setText(null);年級(jí) .setText(null);出生 .setText(null);else錄入修改 .setEnabled(false);String war

53、ning=" 必須要輸入學(xué)號(hào) !" (this,warning," 警告 ",;學(xué)號(hào) .setText(null);姓名 .setText(null);專業(yè) .setText(null);年級(jí) .setText(null); 出生 .setText(null);else if()=錄入修改 )String number=""number= 學(xué)號(hào) .getText();if()>0)try inOne=new FileInputStream(file); inTwo=new ObjectInputStream(inOne); 基本

54、信息表 =(Hashtable)();();(); catch(Exception ee)if( 基本信息表 .containsKey(number)String question=" 該生基本信息已存在 ,您想修改他 (她 )的基本信息嗎 "(this,question," 警告 ",;String m=" 基本信息將被修改 !" int ok=(this,m," 確認(rèn) ", if(ok=String name=姓名 .getText();String discipling= 專業(yè) .getText();String grade=年級(jí) .getText();String borth= 出生 .getText();String sex=null;if(男.isSelected()sex=男.getText();elsesex=女.getText();Student 學(xué)生 =new Student();學(xué)生 .setNumber(number);學(xué)生 .setName(name);學(xué)生 .setDiscipling(discipling);學(xué)生 .setGrade(grade);

溫馨提示

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