




已閱讀5頁,還剩40頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
面向?qū)ο蟪绦蛟O(shè)計(jì)課程設(shè)計(jì)報(bào)告題 目:學(xué)生學(xué)籍管理系統(tǒng)軟件設(shè)計(jì)與實(shí)現(xiàn) 院 (系): 信息科學(xué)與工程學(xué)院 專業(yè)班級: 計(jì)算機(jī)科學(xué)與技術(shù)1201班 學(xué)生姓名: 程偉 學(xué) 號: 20121183011 指導(dǎo)教師: 吳奕 20 14 年 12 月 29 日至20 15 年 1 月 9 日華中科技大學(xué)武昌分校制 面向?qū)ο蟪绦蛟O(shè)計(jì) 課程設(shè)計(jì)任務(wù)書一、設(shè)計(jì)(調(diào)查報(bào)告/論文)題目學(xué)生學(xué)籍管理系統(tǒng)軟件設(shè)計(jì)與實(shí)現(xiàn)二、設(shè)計(jì)(調(diào)查報(bào)告/論文)主要內(nèi)容內(nèi)容:創(chuàng)建一個(gè)學(xué)生信息的界面,能夠?qū)崿F(xiàn)學(xué)生的學(xué)號,姓名,性別,出生日期,專業(yè)和照片的錄入,修改,查詢,刪除和打印。這樣能夠詳細(xì)準(zhǔn)確的查詢到學(xué)生的信息,而且能夠更加直觀方便的了解學(xué)生的信息。 基本功能與要求:1 錄入學(xué)生信息:系統(tǒng)操作人員打開學(xué)生信息添加界面,輸入相關(guān)的信息(姓名、性別、出生日期、入學(xué)年份、專業(yè)和學(xué)院等)。2 修改學(xué)生信息:根據(jù)學(xué)生的學(xué)號查詢出該學(xué)生的相關(guān)信息,修改相關(guān)條目后保存在數(shù)據(jù)庫中。3 刪除學(xué)生信息:根據(jù)學(xué)生的學(xué)號查詢出該學(xué)生的相關(guān)信息,確定刪除后,在數(shù)據(jù)庫中刪除該信息。4 查詢、打印學(xué)生信息:可以根據(jù)學(xué)生學(xué)號、學(xué)生姓名、學(xué)生性別、學(xué)生所學(xué)專業(yè)、學(xué)生所屬學(xué)院來對學(xué)生信息進(jìn)行查詢,所有符合查詢條件的學(xué)生信息將都被顯示出來。三、原始資料1.面向?qū)ο蟪绦蛟O(shè)計(jì)課程設(shè)計(jì)指導(dǎo)書2. 耿祥義JAVA大學(xué)實(shí)用教程北京:清華大學(xué)出版社,2009四、要求的設(shè)計(jì)(調(diào)查/論文)成果1.課程設(shè)計(jì)報(bào)告2.課程設(shè)計(jì)軟件五、進(jìn)程安排布置任務(wù),查找資料、需求分析1天總體設(shè)計(jì)1天詳細(xì)設(shè)計(jì)1.5天編制源程序?qū)崿F(xiàn)3.5天測試與修改1天撰寫課設(shè)報(bào)告2天六、主要參考資料1 張廣彬. Java課程設(shè)計(jì)案例精編(第二版).北京:清華大學(xué)出版社, 2011. 2 耿祥義. Java課程設(shè)計(jì)(第二版).北京:清華大學(xué)出版社, 2008.3 耿祥義JAVA大學(xué)實(shí)用教程北京:清華大學(xué)出版社,20094 鄒林達(dá)陳國君 Java2程序設(shè)計(jì)基礎(chǔ)北京:清華大學(xué)出版社,20105 鄒林達(dá)Java2程序設(shè)計(jì)基礎(chǔ)實(shí)驗(yàn)指導(dǎo)北京:清華大學(xué),2010指導(dǎo)教師(簽名): 20 年 月 日目 錄1需求與總體設(shè)計(jì)11.1需求分析11.2總體設(shè)計(jì)11.3設(shè)計(jì)要求21.4系統(tǒng)主要功能圖21.5系統(tǒng)主要類圖32詳細(xì)設(shè)計(jì)42.1 ManagerWindow類42.1.1 成員變量和方法42.1.2 詳細(xì)類圖42.2 Student類52.2.1 成員變量和方法52.2.2 詳細(xì)類圖52.3 StudentPicture類52.3.1 成員變量和方法52.3.2 詳細(xì)類圖52.4 InputStudent類62.4.1 成員變量和方法62.4.2 詳細(xì)類圖62.5 Inquest類72.5.1 成員變量和方法72.5.2 詳細(xì)類圖72.6 ModifySituation類82.6.1 成員變量和方法82.6.2 詳細(xì)類圖82.7 Delete類92.7.1成員變量和方法92.7.2詳細(xì)類圖93編碼實(shí)現(xiàn)104系統(tǒng)測試384.1ManagerWindow創(chuàng)建窗口384.2InputStudent學(xué)生信息錄入窗口384.3Inquest查詢,打印窗口394.4 ModifySituation信息修改窗口394.5Delete刪除信息窗口39總 結(jié)401需求與總體設(shè)計(jì)1.1需求分析學(xué)生信息管理系統(tǒng)是一個(gè)教育單位不可缺少的部分。一個(gè)功能齊全、簡單易用的信息管理系統(tǒng)不但能有效地減輕學(xué)校相關(guān)工作人員的工作負(fù)擔(dān),它的內(nèi)容對于學(xué)校的決策者和管理者來說都至關(guān)重要。所以學(xué)生信息管理系統(tǒng)應(yīng)該能夠?yàn)橛脩籼峁┏渥愕男畔⒑涂旖莸牟樵兪侄?。但一直以來人們使用傳統(tǒng)人工的方式管理文件檔案、統(tǒng)計(jì)和查詢數(shù)據(jù),隨著科學(xué)技術(shù)的不斷提高,計(jì)算機(jī)科學(xué)日漸成熟,其強(qiáng)大的功能已為人們深刻認(rèn)識,它已進(jìn)入人類社會的各個(gè)領(lǐng)域并發(fā)揮著來越重要的作用。作為計(jì)算機(jī)應(yīng)用的一部分,使用計(jì)算機(jī)對學(xué)校的各類信息進(jìn)行管理,具有手工管理所無法比擬的優(yōu)點(diǎn). 本系統(tǒng)完成了學(xué)生信息的增加、修改、刪除、查詢。1.2總體設(shè)計(jì)在設(shè)計(jì)學(xué)籍管理系統(tǒng)時(shí),需要編寫7個(gè)Java源文件:ManagerWindow.java ,ModifySituation.java,InputStudent.java,Inquest.java,Delete.java ,Student.java,StudentPicture.java。學(xué)籍管理系統(tǒng)除了需要編寫的7個(gè)Java源文件所給出的類外,還需要Java系統(tǒng)提供的一些重要的類,如JMenuItem,HashMap和File等類。專業(yè).txt:學(xué)籍管理系統(tǒng)通過使用名字為“專業(yè).txt”的文本文件來生成專業(yè)名稱列表,以便靈活、有效地錄入專業(yè)信息。允許用戶自己編寫“專業(yè).txt”文件,只要將該文件和應(yīng)用程序存放到同一目錄中即可。ManagerWindow.java(主類):ManagerWindow類負(fù)責(zé)創(chuàng)建學(xué)籍管理系統(tǒng)的主窗口,該類含有main方法,程序從該類開始執(zhí)行。ManagerWindow類的成員變量中有4種重要類型的對象:InputStudent、Inquest、ModifySituation和Delete對象。ManagerWindow類的主要成員的作用將在后面詳細(xì)闡述。Student.java:Student類所創(chuàng)建的對象是InputStudent類的成員之一,負(fù)責(zé)封裝學(xué)生的基本信息。StudentPicture.java:StudentPicture類所創(chuàng)建的對象是InputStudent、Inpuest和ModifySituation類的成員之一,負(fù)責(zé)顯示學(xué)生的照片。InputStudent.java: InputStudent類創(chuàng)建的對象是MangerWindow類的重要成員之一,負(fù)責(zé)提供錄入學(xué)生基本信息的界面。Inquest.java:Inquest類創(chuàng)建的對象是MangerWindow類的重要成員之一,負(fù)責(zé)提供查詢學(xué)生基本信息及打印基本信息的界面。ModifySituation.java:ModifySituation類創(chuàng)建的對象是MangerWindow類的重要成員之一,負(fù)責(zé)提供修改學(xué)生基本信息的界面。Delete.java:Delete類創(chuàng)建的對象是MangerWindow類的重要成員之一,負(fù)責(zé)提供刪除學(xué)生基本信息的界面。1.3設(shè)計(jì)要求1、錄入學(xué)生信息:用戶可以通過菜單選項(xiàng)讓程序呈現(xiàn)“錄入學(xué)生基本信息”功能的界面,系統(tǒng)操作人員打開學(xué)生信息添加界面,輸入相關(guān)的信息(姓名、性別、出生日期、照片、專業(yè)和學(xué)院等)。2、修改學(xué)生信息:根據(jù)學(xué)生的學(xué)號查詢出該學(xué)生的相關(guān)信息,修改相關(guān)條目后保存在數(shù)據(jù)庫中。3、刪除學(xué)生信息:根據(jù)學(xué)生的學(xué)號查詢出該學(xué)生的相關(guān)信息,確定刪除后,在數(shù)據(jù)庫中刪除該信息。4、查詢、打印學(xué)生信息:可以根據(jù)學(xué)生學(xué)號、學(xué)生姓名、學(xué)生性別、學(xué)生所學(xué)專業(yè)、學(xué)生所屬學(xué)院來對學(xué)生信息進(jìn)行查詢,所有符合查詢條件的學(xué)生信息將都被顯示出來。1.4系統(tǒng)主要功能圖系統(tǒng)的主要功能:學(xué)籍管理系統(tǒng)所用到的一些重要的類以及之間的組合關(guān)系如下圖學(xué)籍管理系統(tǒng)除了需要編寫的7個(gè)Java源文件所給出的類外,還需要Java系統(tǒng)提供的一些重要的類,如JMenuItem,HashMap和File等類1.5系統(tǒng)主要類圖2詳細(xì)設(shè)計(jì)2.1 ManagerWindow類2.1.1 成員變量和方法l “基本信息錄入”是InputStudent對象,負(fù)責(zé)提供錄入信息的界面。l “基本信息修改”是ModifySituation對象,負(fù)責(zé)提供修改信息的界面。l “基本信息查詢”是Inquest對象,負(fù)責(zé)提供查詢與打印信息的界面。l “基本信息刪除”是Delete對象,負(fù)責(zé)提供刪除信息的界面。l “基本信息”是HashMap創(chuàng)建的散列映射,用于存儲鍵/值數(shù)據(jù)對,其中的鍵必須是一個(gè)String對象,鍵對應(yīng)的值必須是Student對象。l file是Flie文件對象,程序?qū)ⅰ盎拘畔ⅰ鄙⒘杏成鋵懭朐撐募?。l “錄入”、“修改”、“查詢”、“刪除”和“歡迎界面”是JMenuItem創(chuàng)建的菜單項(xiàng),這些菜單項(xiàng)都將當(dāng)前窗口注冊為自己的ActionEvent事件監(jiān)視器。l ManagerWindow()是構(gòu)造方法,負(fù)責(zé)完成窗口的初始化。l actionPerformed(ActionEvent)方法是ManagerWindow類實(shí)現(xiàn)的ActionListener接口中的方法。ManagerWindow創(chuàng)建的窗口是“錄入”、“刪除”、“查詢與打印”、“刪除”和“歡迎界面”菜單項(xiàng)的ActionEvent事件監(jiān)視器,當(dāng)用戶選擇其中某個(gè)菜單項(xiàng)時(shí),窗口將執(zhí)行actionPerformed(ActionEvent)方法進(jìn)行相應(yīng)的操作。l main方法是程序運(yùn)行的入口方法。2.1.2 詳細(xì)類圖2.2 Student類2.2.1 成員變量和方法l number、name、disciping、grade、borth、和sex是String對象,它們的值分別表示學(xué)生的“學(xué)號”、“姓名”、“專業(yè)”、“年級”、“出生日期”和“性別”。l imagePic是File對象,用來存放學(xué)生的照片圖像和引用。l setNumber(String)和getNumber()方法分別用來設(shè)置number和獲取number的值。l setImagePic(File)和getImagePic()方法分別用來設(shè)置imagePic的引用。2.2.2 詳細(xì)類圖2.3 StudentPicture類2.3.1 成員變量和方法l imageFile是File對象,用來存放圖像文件的引用。l tool是Toolkit對象,負(fù)責(zé)創(chuàng)建Image對象。l StudentPicture()是構(gòu)造方法,負(fù)責(zé)創(chuàng)建pic對象。l setImageFile(File)方法負(fù)責(zé)設(shè)置imageFile對象。l paintComponent(Graphics)方法負(fù)責(zé)繪制根據(jù)imageFile文件創(chuàng)建的Image對象。2.3.2 詳細(xì)類圖2.4 InputStudent類2.4.1 成員變量和方法l “學(xué)生”是Student創(chuàng)建的對象,該對象含有和學(xué)生有關(guān)的數(shù)據(jù)。l pic是StudentPicture創(chuàng)建的對象,負(fù)責(zé)繪制學(xué)生的照片。l “基本信息表”是HashMap創(chuàng)建的散列映射,用于存儲鍵/值數(shù)據(jù)對,其中的鍵必須是一個(gè)String對象,鍵對應(yīng)的值必須是Student對象。l “錄入”、“重置”和“選擇照片”是JButton創(chuàng)建的對象,這些按鈕都將當(dāng)前容器注冊為自己的ActionEvent事件監(jiān)視器。l systemFile和imagePic是File聲明的對象,其中systemFile存放的文件引用和ManagerWindow類中的file的相同,程序?qū)ⅰ盎拘畔⒈怼鄙⒘杏成鋵懭雜ystemFile文件中;而imagePic存放的文件引用有用戶選擇指定。l InputStudent(File)是構(gòu)造方法,用來創(chuàng)建“基本信息錄入”對象,當(dāng)創(chuàng)建該對象時(shí),通過該構(gòu)造方法的參數(shù)將ManagerWindow類中的file的引用傳遞給systemFile。l actionPerformed(ActionEvent)方法是InputStudent類實(shí)現(xiàn)的ActionListener接口中的方法。InputStudent創(chuàng)建的容器是“錄入”、“重置”和“選擇照片”按鈕的ActionEvent事件監(jiān)視器,當(dāng)用戶單擊其中某個(gè)按鈕時(shí),容器將執(zhí)行actionPerformed(ActionEvent)方法進(jìn)行相應(yīng)的操作。2.4.2 詳細(xì)類圖2.5 Inquest類2.5.1 成員變量和方法l pic是StudentPicture創(chuàng)建的對象,負(fù)責(zé)繪制學(xué)生的照片。l print是PrintJob對象,負(fù)責(zé)打印。l “基本信息表”是HashMap創(chuàng)建的散列映射,用于存儲鍵/值數(shù)據(jù)對,其中的鍵必須是一個(gè)String對象,鍵對應(yīng)的值必須是Student對象。程序?qū)膕ystemFile文件中讀出曾寫入到該文件中的HashMap對象,并將這個(gè)對象的引用賦給“基本信息表”,然后查詢“基本信息表”中的數(shù)據(jù)。l “查詢”、“打印文本照片”、“打印文本”和“打印照片”是JButton創(chuàng)建的對象,這些按鈕都將當(dāng)前容器注冊為自己的ActionEvent事件監(jiān)視器。l systemFil是File聲明的對象,其中systemFile存放的文件引用和ManagerWindow類中的file的相同。 l Inquest(File)是構(gòu)造方法,用來創(chuàng)建“基本信息查詢”對象,當(dāng)創(chuàng)建該對象時(shí),通過該構(gòu)造方法的參數(shù)將ManagerWindow類中的file的引用傳遞給systemFile。l actionPerformed(ActionEvent)方法是InputStudent類實(shí)現(xiàn)的ActionListener接口中的方法。Inquest創(chuàng)建的對話框是“查詢”、“打印文本照片”、“打印文本”和“打印照片”按鈕的ActionEvent事件監(jiān)視器,當(dāng)用戶單擊其中某個(gè)按鈕時(shí),對話框?qū)?zhí)行actionPerformed(ActionEvent)方法進(jìn)行相應(yīng)的操作。2.5.2 詳細(xì)類圖2.6 ModifySituation類2.6.1 成員變量和方法l pic是StudentPicture創(chuàng)建的對象,負(fù)責(zé)繪制學(xué)生的照片。l “基本信息表”是HashMap創(chuàng)建的散列映射,用于存儲鍵/值數(shù)據(jù)對,其中的鍵必須是一個(gè)String對象,鍵對應(yīng)的值必須是Student對象。程序?qū)膕ystemFile文件中讀出曾寫入到該文件中的HashMap對象,并將這個(gè)對象的引用賦給“基本信息表”。程序可以修改“基本信息表”中的數(shù)據(jù),然后再將“基本信息表”寫入到systemFile文件中。l “開始修改”、“錄入修改”、“重置”和“選擇照片”是JButton創(chuàng)建的對象,這些按鈕都將當(dāng)前容器注冊為自己的ActionEvent事件監(jiān)視器。l systemFile和imagePic是File聲明的對象,其中systemFile存放的文件引用和ManagerWindow類中的file的相同,imagePic存放的文件引用有用戶選擇指定。l ModifySituation(File)是構(gòu)造方法,用來創(chuàng)建“基本信息修改”對象,當(dāng)創(chuàng)建該對象時(shí),通過該構(gòu)造方法的參數(shù)將ManagerWindow類中的file的引用傳遞給systemFile。l actionPerformed(ActionEvent)方法是InputStudent類實(shí)現(xiàn)的ActionListener接口中的方法。InputStudent創(chuàng)建的容器是“開始修改”、“錄入修改”、“重置”和“選擇照片”按鈕的ActionEvent事件監(jiān)視器,當(dāng)用戶單擊其中某個(gè)按鈕時(shí),容器將執(zhí)行actionPerformed(ActionEvent)方法進(jìn)行相應(yīng)的操作。2.6.2 詳細(xì)類圖2.7 Delete類2.7.1成員變量和方法l “基本信息表”是HashMap創(chuàng)建的散列映射,用于存儲鍵/值數(shù)據(jù)對,其中的鍵必須是一個(gè)String對象,鍵對應(yīng)的值必須是Student對象。程序?qū)膕ystemFile文件中讀出曾寫入到該文件中的HashMap對象,并將這個(gè)對象的引用賦給“基本信息表”。程序可以刪除“基本信息表”中的特定數(shù)據(jù),然后再將“基本信息表”寫入到systemFile文件中。l “刪除”是JButton創(chuàng)建的對象,這些按鈕都將當(dāng)前容器注冊為自己的ActionEvent事件監(jiān)視器。l systemFile和imagePic是File聲明的對象,其中systemFile存放的文件引用和ManagerWindow類中的file的相同。l Delete(File)是構(gòu)造方法,用來創(chuàng)建“基本信息刪除”對象,當(dāng)創(chuàng)建該對象時(shí),通過該構(gòu)造方法的參數(shù)將ManagerWindow類中的file的引用傳遞給systemFile。l actionPerformed(ActionEvent)方法是InputStudent類實(shí)現(xiàn)的ActionListener接口中的方法。InputStudent創(chuàng)建的容器是“刪除”按鈕的AcionEvent事件監(jiān)視器,當(dāng)用戶單擊該按鈕時(shí),容器將執(zhí)行actionPerformed(ActionEvent)方法進(jìn)行相應(yīng)的操作。2.7.2詳細(xì)類圖3編碼實(shí)現(xiàn)源代碼package 學(xué)生學(xué)籍管理系統(tǒng);import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.io.*;import java.util.HashMap;import java.util.*;import javax.swing.filechooser.*;public class ManagerWindow extends JFrame implements ActionListenerpublic static void main(String args) new ManagerWindow(); InputStudent 基本信息錄入; ModifySituation 基本信息修改; Inquest 基本信息查詢與打印; Delete 基本信息刪除; JMenuBar bar; JMenu fileMenu; JMenuItem 錄入,修改,查詢與打印,刪除,歡迎界面; HashMap 基本信息=null; File file=null; CardLayout card=null; JLabel label=null; JPanel pCenter; public ManagerWindow() 錄入=new JMenuItem(錄入學(xué)生基本信息); 修改=new JMenuItem(修改學(xué)生基本信息); 查詢與打印=new JMenuItem(查詢與打印學(xué)生基本信息); 刪除=new JMenuItem(刪除學(xué)生基本信息); 歡迎界面=new JMenuItem(歡迎界面); bar=new JMenuBar(); fileMenu=new JMenu(菜單選項(xiàng)); fileMenu.add(錄入); fileMenu.add(修改); fileMenu.add(查詢與打印); fileMenu.add(刪除); fileMenu.add(歡迎界面); bar.add(fileMenu); setJMenuBar(bar); label=new JLabel(學(xué)籍管理系統(tǒng),JLabel.CENTER); label.setIcon(new ImageIcon(welcome.jpg); label.setFont(new Font(隸書,Font.BOLD,36); label.setHorizontalTextPosition(SwingConstants.CENTER); label.setForeground(Color.red); 基本信息=new HashMap(); 錄入.addActionListener(this); 修改.addActionListener(this); 查詢與打印.addActionListener(this); 刪除.addActionListener(this); 歡迎界面.addActionListener(this); card=new CardLayout(); pCenter=new JPanel(); pCenter.setLayout(card); file=new File(基本信息.txt); if(!file.exists() try FileOutputStream out=new FileOutputStream(file); ObjectOutputStream objectOut=new ObjectOutputStream(out); objectOut.writeObject(基本信息); objectOut.close(); out.close(); catch(IOException e) 基本信息錄入=new InputStudent(file); 基本信息修改=new ModifySituation(file); 基本信息查詢與打印=new Inquest(file); 基本信息刪除=new Delete(file); pCenter.add(歡迎界面,label); pCenter.add(錄入界面,基本信息錄入); pCenter.add(修改界面,基本信息修改); pCenter.add(刪除界面,基本信息刪除); add(pCenter,BorderLayout.CENTER); validate(); setVisible(true); setBounds(100,50,460,280); setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE); addWindowListener(new WindowAdapter() public void windowClosing(WindowEvent e) int n=JOptionPane.showConfirmDialog(null,確認(rèn)退出嗎?,確認(rèn)對話框, JOptionPane.YES_NO_OPTION ); if(n=JOptionPane.YES_OPTION) System.exit(0); ); validate(); public void actionPerformed(ActionEvent e) if(e.getSource()=錄入) 基本信息錄入.clearMess(); card.show(pCenter,錄入界面); else if(e.getSource()=修改) 基本信息修改.clearMess(); card.show(pCenter,修改界面); else if(e.getSource()=查詢與打印) 基本信息查詢與打印.clearMess(); 基本信息查詢與打印.setLocation(getBounds().x+getBounds().width,getBounds().y); 基本信息查詢與打印.setVisible(true); else if(e.getSource()=刪除) card.show(pCenter,刪除界面); else if(e.getSource()=歡迎界面) card.show(pCenter,歡迎界面); class Student implements Serializable String number,name,discipling,grade,borth,sex; File imagePic; public void setNumber(String number) this.number=number; public String getNumber() return number; public void setName(String name) =name; public String getName() return name; public void setDiscipling(String discipling) this.discipling=discipling; public String getDisciping() return discipling; public void setGrade(String grade) this.grade=grade; public String getGrade() return grade; public void setBorth(String borth) this.borth=borth; public String getBorth() return borth; public void setSex(String sex) this.sex=sex; public String getSex() return sex; public void setImagePic(File image) imagePic=image; public File getImagePic() return imagePic; class StudentPicture extends JPanel File imageFile; Toolkit tool; public StudentPicture() tool=getToolkit(); public void setImage(File imageFile) this.imageFile=imageFile; repaint(); public void paintComponent(Graphics g) super.paintComponent(g); int w=getBounds().width; int h=getBounds().height; if(imageFile!=null) Image image=tool.getImage(imageFile.getAbsolutePath(); g.drawImage(image,0,0,w,h,this); else g.drawString(沒有選擇照片圖像,20,30); class InputStudent extends JPanel implements ActionListener Student 學(xué)生=null; StudentPicture pic; HashMap 基本信息表=null; JTextField 學(xué)號,姓名,年級,出生; JButton 選擇照片; JComboBox 專業(yè); JRadioButton 男,女; ButtonGroup group=null; JButton 錄入,重置; FileInputStream inOne=null; ObjectInputStream inTwo=null; FileOutputStream outOne=null; ObjectOutputStream outTwo=null; File systemFile,imagePic; public InputStudent(File file) systemFile=file; pic=new StudentPicture(); 學(xué)號=new JTextField(5); 姓名=new JTextField(5); 專業(yè)=new JComboBox(); try FileReader inOne=new FileReader(專業(yè).txt); BufferedReader inTwo= new BufferedReader(inOne); String s=null; int i=0; while(s=inTwo.readLine()!=null) 專業(yè).addItem(s); inOne.close(); inTwo.close(); catch(IOException exp) 專業(yè).addItem(數(shù)學(xué)); 專業(yè).addItem(計(jì)算機(jī)科學(xué)與技術(shù)); 年級=new JTextField(5); 出生=new JTextField(5); 選擇照片=new JButton(選擇); group=new ButtonGroup(); 男=new JRadioButton(男,true); 女=new JRadioButton(女,false); group.add(男); group.add(女); 錄入=new JButton(錄入); 重置=new JButton(重置); 錄入.addActionListener(this); 選擇照片.addActionListener(this); 重置.addActionListener(this); Box box1=Box.createHorizontalBox(); box1.add(new JLabel(學(xué)號:,JLabel.CENTER); box1.add(學(xué)號); Box box2=Box.createHorizontalBox(); box2.add(new JLabel(姓名:,JLabel.CENTER); box2.add(姓名); Box box3=Box.createHorizontalBox(); box3.add(new JLabel(性別:,JLabel.CENTER); box3.add(男); box3.add(女); Box box4=Box.createHorizontalBox(); box4.add(new JLabel(專業(yè):,JLabel.CENTER); box4.add(專業(yè)); Box box5=Box.createHorizontalBox(); box5.add(new JLabel(年級:,JLabel.CENTER); box5.add(年級); Box box6=Box.createHorizontalBox(); 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 picPanel=new JPanel(); picPanel.setBackground(Color.green); picPanel.add(new JLabel(選擇照片:,JLabel.CENTER); picPanel.add(選擇照片); JPanel putButton=new JPanel(); putButton.add(錄入); putButton.add(重置); JPanel messPanel=new JPanel(); messPanel.add(boxH); messPanel.setBackground(Color.cyan); putButton.setBackground(Color.red); setLayout(new BorderLayout(); JSplitPane splitV= new JSplitPane(JSplitPane.VERTICAL_SPLIT,picPanel,pic); JSplitPane splitH=new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,messPanel,splitV); add(splitH,BorderLayout.CENTER); add(putButton,BorderLayout.SOUTH); validate(); public void actionPerformed(ActionEvent e) if(e.getSource()=錄入) String number=; number=學(xué)號.getText(); if(number.length()0) try inOne=new FileInputStream(systemFile); inTwo=new ObjectInputStream(inOne); 基本信息表=(HashMap)inTwo.readObject(); inOne.close(); inTwo.close(); catch(Exception ee) if(基本信息表.containsKey(number) String warning=該生基本信息已存在,請到修改頁面修改!; JOptionPane.showMessageDialog(this,warning,警告, JOptionPane.WARNING_MESSAGE); else String m=基本信息將被錄入!; int ok=JOptionPane.showConfirmDialog(this,m,確認(rèn), JOptionPane.YES_NO_OPTION,JOptionPane.INFORMATION_MESSAGE); if(ok=JOptionPane.YES_OPTION) String name=姓名.getText(); String discipling=(String)專業(yè).getSelectedItem(); String grade=年級.getText(); String borth=出生.getText(); String sex=nu
溫馨提示
- 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《奪冠》觀后感13篇
- 年產(chǎn)300萬只汽車前大燈智項(xiàng)目建議書
- 糧油倉儲儲備項(xiàng)目建議書(模板范文)
- 歷史文化步道規(guī)劃規(guī)劃設(shè)計(jì)方案
- 老舊小區(qū)加裝電梯項(xiàng)目實(shí)施方案(參考模板)
- 119消防主題講話稿(6篇)
- 焦?fàn)t余熱利用裝置改造項(xiàng)目實(shí)施方案
- 集中式陸上風(fēng)電工程實(shí)施方案(范文參考)
- 河南xx充電樁建設(shè)項(xiàng)目可行性研究報(bào)告
- 工業(yè)用地開發(fā)項(xiàng)目實(shí)施方案
- 門診病歷書寫模板全
- 天然氣輸氣管道
- 鋼結(jié)構(gòu)桁架吊裝安裝專項(xiàng)施工方案
- 課題研究活動記錄及課題研究會議記錄表
- 風(fēng)電場道路工程施工方案
- 腫瘤細(xì)胞生物學(xué)1-1
- 中藥飲片的基礎(chǔ)知識和中藥飲片的養(yǎng)護(hù)培訓(xùn)課件
- 4.個(gè)體工商戶登記(備案)申請表
- 2021年專業(yè)技術(shù)人員繼續(xù)教育公需科目考試試題及答案
- 油煙機(jī)清洗服務(wù)流程
- 化學(xué)品安全技術(shù)說明手冊MSDS甲醇
評論
0/150
提交評論