版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、* 實(shí)踐教學(xué)實(shí)踐教學(xué) * 軟件學(xué)院軟件學(xué)院 2013 年春季學(xué)期 Java 課程設(shè)計(jì)課程設(shè)計(jì) 說明書 題題 目:目: 學(xué)生成績(jī)管理系統(tǒng)學(xué)生成績(jī)管理系統(tǒng) 專業(yè)班級(jí):專業(yè)班級(jí): 軟件軟件 3 3 班班 姓姓 名:名: 劉坤劉坤 學(xué)學(xué) 號(hào):號(hào): 指導(dǎo)教師:指導(dǎo)教師: 馬維俊馬維俊 成成 績(jī):績(jī): 此處寫畢業(yè)設(shè)計(jì)的 題目,黑體、小一、 加粗 摘摘 要要 學(xué)生信息管理系統(tǒng)是學(xué)校管理的重要工具,是學(xué)校不可或缺的部分。隨著在校 大學(xué)生人數(shù)的不斷增加,教務(wù)系統(tǒng)的數(shù)量也不斷的上漲,。學(xué)校工作繁雜、資料眾 多,人工管理信息的難度也越來越大,顯然是不能滿足實(shí)際的需要,效率也是很低 的。并且這種傳統(tǒng)的方式存在著很多的
2、弊端,如:保密性差、查詢不便、效率低, 很難維護(hù)和更新等。然而,本系統(tǒng)針對(duì)以上缺點(diǎn)能夠極大地提高學(xué)生信息管理的效 率,也是科學(xué)化、正規(guī)化的管理。 關(guān)鍵詞 學(xué)生成績(jī)管理 數(shù)據(jù)表 JAVA 目目 錄錄 序 言.4 系統(tǒng)分析與設(shè)計(jì).5 詳細(xì)設(shè)計(jì).8 系統(tǒng)測(cè)試.11 軟件使用說明書.15 設(shè)計(jì)總結(jié).17 參考文獻(xiàn).18 致 謝.19 附錄.20 序序 言言 隨著這些年電腦計(jì)算機(jī)的速度質(zhì)的提高,成本的下降,IT 互聯(lián)網(wǎng)大眾趨勢(shì)的發(fā) 展。我們使用電腦的高效率才處理數(shù)據(jù)信息成為可能。 學(xué)生學(xué)籍管理系統(tǒng)的出現(xiàn), 正是管理人員與信息數(shù)據(jù),計(jì)算機(jī)的進(jìn)入互動(dòng)時(shí)代的體現(xiàn)。友好的人機(jī)交互模式, 清晰簡(jiǎn)明的圖形界面,高效
3、安全的操作使得我們對(duì)成千上萬的信息的管理得心應(yīng)手。 通過這個(gè)系統(tǒng),可以做到信息的規(guī)范管理,科學(xué)統(tǒng)計(jì)和快速的查詢,從而減少管理方 面的工作量毋庸置疑,切實(shí)有效地把計(jì)算機(jī)管理引入學(xué)校教務(wù)管理中,對(duì)于促進(jìn)學(xué) 校管理制度,提高學(xué)校教學(xué)質(zhì)量與辦學(xué)水平有著顯著意義 學(xué)生成績(jī)管理系統(tǒng)是學(xué)校日常信息管理的一個(gè)重要內(nèi)容。隨著學(xué)??荚嚧螖?shù)越 來越多,學(xué)生成績(jī)管理的工作量也變得越來越大。如果能對(duì)學(xué)生成績(jī)做系統(tǒng)的管理, 就能更好更方便地快速查詢或者修改學(xué)生的考試成績(jī),省去了文件管理的繁瑣與麻 煩,無疑將給學(xué)校的管理部門帶來很大的方便。 學(xué)生成績(jī)管理系統(tǒng)就是把學(xué)生的考試成績(jī)實(shí)行統(tǒng)一、集中、規(guī)范的收集管理, 建立現(xiàn)代化、
4、專業(yè)化的管理系統(tǒng)。 系統(tǒng)分析與設(shè)計(jì)系統(tǒng)分析與設(shè)計(jì) 學(xué)生成績(jī)管理系統(tǒng)的對(duì)象是在校學(xué)生,成績(jī)管理系統(tǒng)為學(xué)生提供了成績(jī)查詢 等服務(wù);為學(xué)校及老師提供了添加、修改、刪除學(xué)生成績(jī)等服務(wù)。 本系統(tǒng)基本上可以滿足當(dāng)今學(xué)校學(xué)生成績(jī)信息管理的需求。學(xué)生個(gè)人信息錄入 項(xiàng)目齊全、完整、系統(tǒng)。 作為管理員對(duì)學(xué)生成績(jī)管理系統(tǒng)的需求有: 1. 對(duì)學(xué)生個(gè)人基本信息的瀏覽 2. 對(duì)學(xué)生個(gè)人信息的修改 3. 對(duì)學(xué)生個(gè)人信息的刪除 4. 添加新學(xué)生的基本信息 5. 對(duì)學(xué)生成績(jī)的查詢 6. 對(duì)學(xué)生成績(jī)的修改 7. 對(duì)學(xué)生成績(jī)的刪除 8. 為某個(gè)學(xué)生添加學(xué)生成績(jī) 還有用戶登錄模塊,實(shí)現(xiàn)管理員的登陸,如果沒有管理權(quán)限,則無法使用該軟
5、件,也無法實(shí)現(xiàn)對(duì)學(xué)生成績(jī)的各項(xiàng)操作。 系統(tǒng)的初步調(diào)查是系統(tǒng)分析階段的第一項(xiàng)活動(dòng),也是系統(tǒng)開發(fā)的第一項(xiàng)活動(dòng), 初步調(diào)查的主要目標(biāo)是從系統(tǒng)分析人中和管理人員的角度看新系統(tǒng)開發(fā)有無必要和 可能。 可行性研究的目的就是用最小的代價(jià)在最短的時(shí)間內(nèi)確定該軟件項(xiàng)目是否能夠 開發(fā),是否值得去開發(fā)。實(shí)質(zhì)上就是進(jìn)行一次簡(jiǎn)化、壓縮了的需求分析、設(shè)計(jì)過程。 可從以下三個(gè)方面分析研究每種解決問題的可行性: a.技術(shù)可行性:對(duì)項(xiàng)目的功能、性能、限制條件進(jìn)行分析,確定在現(xiàn)有的資源 條件下項(xiàng)目是否能實(shí)現(xiàn)。(開發(fā)的風(fēng)險(xiǎn)、資源的有效性、技術(shù)) b.社會(huì)可行性:要開發(fā)的項(xiàng)目是否存在任何侵犯、妨礙等責(zé)任問題,要開發(fā)項(xiàng) 目的運(yùn)行方式在
6、用戶組織內(nèi)是否行得通,現(xiàn)有管理制度、人員素質(zhì)、操作方式是否 可行。 c.經(jīng)濟(jì)可行性:進(jìn)行開發(fā)成本的估算以及了解得到效益的評(píng)估,確定要開發(fā)項(xiàng) 目是否值得投資開發(fā)。對(duì)銀行業(yè)來說,是靠存款貸款之間的差額來生存的,所以要 盡可能的拉攏更多的客戶使用本行,ATM 取款機(jī)是為了能讓為客戶更便捷的服務(wù), 從而更具有吸引力。銀行角度出發(fā)還是非常還是愿意把一部分資金投入到這方面的。 系統(tǒng)詳細(xì)調(diào)查是在可行性研究的基礎(chǔ)上進(jìn)一步對(duì)現(xiàn)行系統(tǒng)進(jìn)行全面、深入的 調(diào)查和分析,弄清現(xiàn)行系統(tǒng)運(yùn)行狀況,發(fā)現(xiàn)其薄弱環(huán)節(jié),確保新系統(tǒng)比原系統(tǒng)更有 效。詳細(xì)調(diào)查的重點(diǎn)在于對(duì)系統(tǒng)的內(nèi)部情況更詳細(xì)和具體的了解,從而可以提供在 新系統(tǒng)建設(shè)時(shí)改進(jìn)
7、或更換的內(nèi)容。 明確用戶的信息需求,明確新系統(tǒng)的邏輯功能。主要工作是對(duì)用戶需求進(jìn)行進(jìn) 一步調(diào)查分析,創(chuàng)建新系統(tǒng)的邏輯模型。通過仔細(xì)調(diào)查得以下功能模塊圖: 錄 入 學(xué)生成績(jī)管 理 修 改 刪 除 導(dǎo) 出 退 出 在該系統(tǒng)中包含三個(gè)類 public class StudentManager、class DataTable、class Student. 在 main 方法里建立主類 public class StudentManager 的實(shí)體實(shí)現(xiàn)各種方 法的調(diào)用。 class DataTable、class Student 里是一系列的方法,實(shí)現(xiàn)系統(tǒng)里的各種功 能。 在該系統(tǒng)的設(shè)計(jì)開發(fā)中用運(yùn)了后臺(tái)
8、集成開發(fā)工具 MyEclipse6.5. 數(shù)據(jù)管理方面主要應(yīng)用了文件中的輸入輸出流,以及流的封裝。 圖(圖(1)功能模塊圖)功能模塊圖 下圖是三個(gè)類之間的調(diào)用關(guān)系圖 Class StudentManager Class DataTableClass Student 圖(圖(2)各類之間的調(diào)用關(guān)系)各類之間的調(diào)用關(guān)系 詳細(xì)設(shè)計(jì)詳細(xì)設(shè)計(jì) 1、源文件中主要應(yīng)用的包和類: import javax.swing.*; import javax.swing.table.*; import java.awt.*; import java.awt.event.*; import java.io.*; impo
9、rt java.util.*; 2、程序中所創(chuàng)建的對(duì)象 容器的定義:private Container currentContainer 標(biāo)題及其字體的定義: private String title private Font headFont = new Font(黑體,Font.PLAIN,18); 數(shù)據(jù)文件的創(chuàng)建: private File data = new File(data.txt);數(shù)據(jù)模型的定義: private DataTable dataModel = new DataTable(); 數(shù)據(jù)表格的創(chuàng)建: private JTable dataTable = new JTa
10、ble(dataModel); 歡迎面板的創(chuàng)建: private JPanel welcomePanel = createWelcomePanel(); 添加信息面板的創(chuàng)建: private JPanel insertPanel = createInsertPanel(); 顯示信息面板的創(chuàng)建: private JPanel displayPanel = createDisplayPanel(); 修改信息面板的創(chuàng)建: private JPanel modifyPanel = createModifyPanel() 3、類中定義變量及方法 主類中方法的定義 /*設(shè)置窗體基本信息的方法 */ p
11、ublic StudentManager() /* 建立菜單并添加到菜單欄中 */ private void createMenu() /* 如果是要切換到顯示信息面板,則同時(shí)加載信息 */ private void resetPanel(JPanel panel) /* 創(chuàng)建歡迎面板*/ private JPanel createWelcomePanel() /* 創(chuàng)建添加信息面板 */ private JPanel createInsertPanel() /* 創(chuàng)建顯示信息面板*/ private JPanel createDisplayPanel() /* 只顯示查詢的學(xué)號(hào)的學(xué)生信息*/
12、 private void loadStudentInfo(String no) /* 創(chuàng)建修改信息面板*/ private JPanel createModifyPanel() /* 插入數(shù)據(jù) */ private boolean insertData(Student student) /* 修改數(shù)據(jù) */ private boolean modifyData(Student student) /* 檢查輸入的文本信息是否為空 */ private boolean checkString(String text) /* 檢查輸入的數(shù)字信息是否是整數(shù) */ private boolean ch
13、eckInteger(String text) /* 清空表單信息 */ private void clearForm(JTextField textField) /* 獲取指定學(xué)號(hào)的學(xué)生信息 */ private Student selectStudent(String no) /* 獲取所有學(xué)生數(shù)據(jù) */ private ArrayList displayDataList() /* 入口方法 */ public static void main(String args) class Student 類中成員變量及成員方法的定義 private String no; private Stri
14、ng name; private int asmScore, javaScore, netScore, osScore; /* 學(xué)生信息管理的各個(gè)方法 */ public String getNo() public void setNo(String no) public String getName() public void setName(String name) public int getAsmScore() public void setAsmScore(int asmScore) public int getJavaScore() public void setJavaScore
15、(int javaScore) public int getNetScore() public void setNetScore(int netScore) public int getOsScore() public void setOsScore(int osScore) class DataTable 中成員變量及成員方法的定義 String label = 學(xué)號(hào),姓名,匯編,Java,網(wǎng)絡(luò),系統(tǒng); ArrayList dataList = new ArrayList(); /* 更新學(xué)生信息對(duì)象數(shù)組 */ public void update(ArrayList dataList) /
16、 * 更新學(xué)生信息對(duì)象 */ public void update(Student student) public int getColumnCount() public int getRowCount() public Object getValueAt(int row, int col) public String getColumnName(int column) 4下圖是程序中方法調(diào)用關(guān)系 class DataTable 中的各個(gè)函數(shù)關(guān)系圖 函數(shù) 相應(yīng)的 get()獲取相應(yīng)的信 息 columnCount()RowCount()ValueAt()ColumnName() 圖(圖(3)D
17、ataTablel 類中方法調(diào)用圖類中方法調(diào)用圖 class Student 中的各個(gè)函數(shù)關(guān)系圖 函數(shù) 相應(yīng)的 get()函 數(shù)獲得相應(yīng)信息 相應(yīng)的 set()函數(shù) 獲得相應(yīng)信息 nonameAsmScoreJavaScoreNeetScoreOScore 圖(圖(4)Student 類中方法的調(diào)用圖類中方法的調(diào)用圖 系統(tǒng)測(cè)試系統(tǒng)測(cè)試 1.下圖是學(xué)生成績(jī)管理的初始登陸界面實(shí)現(xiàn)用戶的登陸 圖圖(5)初始界面初始界面 2.學(xué)生成績(jī)的錄入界面 圖(圖(6 6)輸入要錄入的信息)輸入要錄入的信息 圖(圖(7 7)提示是否確定錄入)提示是否確定錄入 圖(圖(8 8)提示用戶已錄入成功)提示用戶已錄入成功
18、 3.學(xué)生成績(jī)列表的顯示 圖(圖(9 9)顯示所有學(xué)生的信息)顯示所有學(xué)生的信息 4.學(xué)生成績(jī)的查詢 圖(圖(1010)顯示查詢的結(jié)果)顯示查詢的結(jié)果 5.學(xué)生成績(jī)的刪除 圖(圖(1111)提示是否要?jiǎng)h除信息)提示是否要?jiǎng)h除信息 圖(圖(1212)提示刪除成功)提示刪除成功 圖(圖(13)顯示刪除后的信息列表)顯示刪除后的信息列表 軟件使用說明書軟件使用說明書 下圖是一個(gè)初始的系統(tǒng)登錄界面,用戶可以通過幫助管理、和幫助 按鈕實(shí)現(xiàn)下拉菜單里的功能使用。 1、管理按鈕 用戶可以通過單擊鼠標(biāo)來應(yīng)用此按鈕的功能,當(dāng)單擊之后出現(xiàn)的是以下拉菜 單顯示,其中包含了錄入、修改、刪除、導(dǎo)出、退出。 錄入 此功能
19、可以實(shí)現(xiàn)管理員對(duì)學(xué)生成績(jī)的添加,實(shí)現(xiàn)學(xué)號(hào)、姓名、匯編語言、 Java 語言、計(jì)算機(jī)網(wǎng)絡(luò)、操作系統(tǒng)的添加。主要針對(duì)于新生信息的添加, 還有在校學(xué)生信息的完善。 修改 此功能可以實(shí)現(xiàn)對(duì)學(xué)生信息的修改。 刪除 此功能可以實(shí)現(xiàn)對(duì)學(xué)生信息的刪除,用來適應(yīng)畢業(yè)的、離校的學(xué)生信息的 刪除。 導(dǎo)出 此功能主要實(shí)現(xiàn)的是將以有的學(xué)生信息輸出到特定文件便于打印。 退出 此功能實(shí)現(xiàn)的是提示用戶退出該系統(tǒng)。 2、幫助按鈕 當(dāng)用戶單擊幫助按鈕之后出現(xiàn)的是說明和版權(quán)。 說明 說明主要實(shí)現(xiàn)該系統(tǒng)的一個(gè)說明。 版權(quán) 主要是系統(tǒng)的版權(quán)聲明。為了保護(hù)系統(tǒng)開發(fā)者的針對(duì)于該系統(tǒng)的擁有權(quán), 保護(hù)自己的合法權(quán)益,知識(shí)產(chǎn)權(quán)。 設(shè)計(jì)總結(jié)設(shè)計(jì)總
20、結(jié) 這次課程設(shè)計(jì)我實(shí)現(xiàn)了對(duì)學(xué)生基本信息,學(xué)生成績(jī)以及課程信息的查詢,方便 用戶使用,當(dāng)然系統(tǒng)也存在一些不足,由于時(shí)間上的關(guān)系和設(shè)計(jì)時(shí)開發(fā)環(huán)境工具的 選擇使用問題,有一部分功能可以更詳細(xì)化的,而有些功能還為實(shí)現(xiàn),因能力有限, 將會(huì)在以后的過程中對(duì)其擴(kuò)充改善。 此系統(tǒng)的開發(fā)使我獲得了一些珍貴的實(shí)踐經(jīng)驗(yàn),也使理論水平得到了應(yīng)用和強(qiáng) 化,提高了我的實(shí)際開發(fā)能力,使理論和實(shí)踐相得益彰,相互促進(jìn)。在完成的過程 中也遇到了很多問題,有的是不明白的,通過問老師,問同學(xué),查資料,基本得到 解決。從中學(xué)到的知識(shí)我也是終生受用的。 參考文獻(xiàn)參考文獻(xiàn) (1)丁振凡.Java 語言實(shí)用教程北京郵電大學(xué)出版社 (2)耿祥
21、義.Java2 實(shí)用教程清華大學(xué)出版社 (3)趙付青.Java 面向?qū)ο蟪绦蛟O(shè)計(jì)國(guó)防工業(yè)出版社. (4)耿祥義.Java 課程設(shè)計(jì)清華大學(xué)出版社 致致 謝謝 首先,我們要感謝學(xué)校給我們提供了此次課程設(shè)計(jì)的機(jī)會(huì),能讓我們?cè)谝黄饘W(xué) 習(xí)與研究,讓我們有機(jī)會(huì)對(duì)所學(xué)的理論知識(shí)進(jìn)行實(shí)踐。 其次,我們還要特別感謝我們的輔導(dǎo)老師龐淑俠,在她的精心輔導(dǎo)和幫助下, 我們的設(shè)計(jì)才得以順利完成。對(duì)她為我們的設(shè)計(jì)所提出的寶貴意見表示忠心的感謝! 最后,在程序的編寫過程中,也得到了許多同學(xué)的寶貴建議,真正體驗(yàn)到團(tuán)隊(duì) 的力量是多么的強(qiáng)大,在此一并致以誠(chéng)摯的謝意。 附附 錄錄 源程序:package progressbard
22、emo; import javax.swing.*; import javax.swing.table.*; import java.awt.*; import java.awt.event.*; import java.io.*; import java.util.*; /* * 學(xué)生成績(jī)管理系統(tǒng) */ public class StudentManager extends JFrame /* * */ private static final long serialVersionUID = 1L; /* * 當(dāng)前窗體 */ private Container currentContaine
23、r = this; /* * 窗體標(biāo)題 */ private String title = 學(xué)生成績(jī)管理系統(tǒng); /* * 標(biāo)題字體 */ private Font headFont = new Font(黑體,Font.PLAIN,18); /* * 數(shù)據(jù)文件 */ private File data = new File(data.txt); /* * 數(shù)據(jù)模型 */ private DataTable dataModel = new DataTable(); /* * 數(shù)據(jù)表格 */ private JTable dataTable = new JTable(dataModel); /*
24、* 備注 */ private JLabel extraLabel = new JLabel(); /* * 歡迎面板 */ private JPanel welcomePanel = createWelcomePanel(); /* * 添加信息面板 */ private JPanel insertPanel = createInsertPanel(); /* * 顯示信息面板 */ private JPanel displayPanel = createDisplayPanel(); /* * 修改信息面板 */ private JPanel modifyPanel = createMod
25、ifyPanel(); /* * 構(gòu)造器:初始化窗體 */ public StudentManager() /* 設(shè)置窗體基本信息 */ this.setLocation(300, 300); this.setSize(475,450); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setResizable(false); this.setTitle(title); this.createMenu(); this.add(welcomePanel); /* 如果數(shù)據(jù)文件不存在則默認(rèn)創(chuàng)建一個(gè) */ if(!data.exis
26、ts() try new FileWriter(data); catch (IOException e) /* 顯示窗體 */ this.setVisible(true); /* * 創(chuàng)建菜單欄 */ private void createMenu() JMenuBar menubar = new JMenuBar(); /* 建立菜單并添加到菜單欄中 */ JMenu manageMenu = new JMenu(管理); menubar.add(manageMenu); JMenu helpMenu = new JMenu(幫助); menubar.add(helpMenu); /* 建立
27、菜單項(xiàng)并添加到菜單中 */ JMenuItem m_add = new JMenuItem(添加); JMenuItem m_manage = new JMenuItem(查看); JMenuItem m_modify = new JMenuItem(修改); JMenuItem m_export = new JMenuItem(導(dǎo)出); JMenuItem m_exit = new JMenuItem(退出); manageMenu.add(m_add); manageMenu.add(m_modify); manageMenu.add(m_manage); manageMenu.addSe
28、parator(); manageMenu.add(m_export); manageMenu.addSeparator(); manageMenu.add(m_exit); JMenuItem m_help = new JMenuItem(說明); JMenuItem m_copy = new JMenuItem(版權(quán)); helpMenu.add(m_help); helpMenu.addSeparator(); helpMenu.add(m_copy); /* 為添加菜單項(xiàng)注冊(cè)監(jiān)聽器,使點(diǎn)擊該菜單項(xiàng)時(shí)添加學(xué)生成績(jī)數(shù)據(jù) */ m_add.addActionListener(new Acti
29、onListener() public void actionPerformed(ActionEvent e) resetPanel(insertPanel); ); /* 為修改菜單項(xiàng)注冊(cè)監(jiān)聽器,使點(diǎn)擊該菜單項(xiàng)時(shí)修改學(xué)生成績(jī)數(shù)據(jù) */ m_modify.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) resetPanel(modifyPanel); ); /* 為管理菜單項(xiàng)注冊(cè)監(jiān)聽器,使點(diǎn)擊該菜單項(xiàng)時(shí)顯示學(xué)生成績(jī)列表 */ m_manage.addActionListener(
30、new ActionListener() public void actionPerformed(ActionEvent e) resetPanel(displayPanel); ); /* 為導(dǎo)出菜單項(xiàng)注冊(cè)監(jiān)聽器,使點(diǎn)擊該菜單項(xiàng)時(shí)復(fù)制現(xiàn)有數(shù)據(jù)到指定 文件 */ m_export.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) /* 彈出保存文件對(duì)話框供選取要保存的文件及位置 */ JFileChooser chooser = new JFileChooser(); int ch
31、oose = chooser.showSaveDialog(currentContainer); if(choose=JFileChooser.APPROVE_OPTION) /* 調(diào)用導(dǎo)出數(shù)據(jù)到文件方法 */ boolean flag = exportData(chooser.getSelectedFile(); if(flag) JOptionPane.showMessageDialog(currentContainer, 數(shù)據(jù)已經(jīng)成功導(dǎo)出到指定文件!,導(dǎo)出成功 ,JOptionPane.PLAIN_MESSAGE); else JOptionPane.showMessageDialog(
32、currentContainer, 無法導(dǎo)出到指定文件!,導(dǎo)出失敗 ,JOptionPane.ERROR_MESSAGE); ); /* 為退出菜單項(xiàng)注冊(cè)監(jiān)聽器,使點(diǎn)擊該菜單項(xiàng)時(shí)退出程序 */ m_exit.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) System.exit(0); ); /* 為說明菜單項(xiàng)注冊(cè)監(jiān)聽器,使點(diǎn)擊該菜單項(xiàng)時(shí)彈出程序說明窗口 */ m_help.addActionListener(new ActionListener() public void ac
33、tionPerformed(ActionEvent e) JOptionPane.showMessageDialog(currentContainer, 沒有任 何說明,幫助信息,JOptionPane.PLAIN_MESSAGE); ); /* 為版權(quán)菜單項(xiàng)注冊(cè)監(jiān)聽器,使點(diǎn)擊該菜單項(xiàng)時(shí)彈出版權(quán)信息窗口 */ m_copy.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) JOptionPane.showMessageDialog(currentContainer, 小組成 員:n
34、 + 劉坤,版權(quán)信息,JOptionPane.INFORMATION_MESSAGE); ); /* 設(shè)置菜單欄 */ this.setJMenuBar(menubar); /* * 重設(shè)面板 */ private void resetPanel(JPanel panel) this.setVisible(false); this.getContentPane().removeAll(); /* 如果是要切換到顯示信息面板,則同時(shí)加載信息 */ if(panel=displayPanel) loadData(); this.getContentPane().add(panel); this.s
35、etVisible(true); /* * 創(chuàng)建歡迎面板 * return 歡迎面板 */ private JPanel createWelcomePanel() JPanel panel = new JPanel(); /* 標(biāo)題文本 */ JLabel title = new JLabel(學(xué)生成績(jī)管理系統(tǒng) v1.0); title.setFont(headFont); panel.add(title); panel.setVisible(true); return panel; /* * 創(chuàng)建添加信息面板 * return 添加信息面板 */ private JPanel createI
36、nsertPanel() JPanel panel = new JPanel(); panel.setLayout(null); panel.setFocusable(true); /* 標(biāo)題文本 */ JLabel title = new JLabel(錄入學(xué)生成績(jī)); title.setFont(headFont); panel.add(title); title.setBounds(175, 25, 120, 30); /* 顯示表單文本及文本框 */ final String label = 學(xué)號(hào),姓名,匯編程序設(shè)計(jì),Java 程序設(shè)計(jì),計(jì)算機(jī) 網(wǎng)絡(luò),操作系統(tǒng); final JText
37、Field textField = new JTextFieldlabel.length; for(int i=0;ilabel.length;i+) JLabel titleLabel = new JLabel(labeli + :); titleLabel.setBounds(100, 80 + 40*i, 120, 30); panel.add(titleLabel); textFieldi = new JTextField(20); textFieldi.setBounds(220, 80 + 40*i, 150, 24); panel.add(textFieldi); /* 為學(xué)號(hào)按
38、鈕注冊(cè)監(jiān)聽器,使移開焦點(diǎn)時(shí)自動(dòng)檢測(cè)鍵入的學(xué)號(hào)是否存 在 */ textField0.addFocusListener(new FocusListener() public void focusGained(FocusEvent e) /* * 當(dāng)焦點(diǎn)缺失時(shí) */ public void focusLost(FocusEvent e) boolean flag = true; String s = ; /* 檢測(cè)學(xué)號(hào)是否輸入 */ if(!checkString(textField0.getText() flag = false; s = 學(xué)號(hào)不能為空!n; if(flag) /* 檢查學(xué)號(hào)是否
39、已存在 */ if(!checkStudentNo(textField0.getText().trim() flag = false; s = 系統(tǒng)已存在該學(xué)號(hào)的信息!n; if(!flag) /* 輸入有誤或系統(tǒng)中不存在指定學(xué)號(hào)則彈 出提示 */ JOptionPane.showMessageDialog(currentContainer, s, 錯(cuò)誤, JOptionPane.ERROR_MESSAGE); ); /* 錄入按鈕 */ JButton addBtn = new JButton(錄入信息); panel.add(addBtn); addBtn.setBounds(140, 3
40、40, 105, 30); /* 為錄入按鈕注冊(cè)監(jiān)聽器,使點(diǎn)擊完成錄入操作 */ addBtn.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) int choose = JOptionPane.showConfirmDialog(currentContainer, 確認(rèn)要錄入信息嗎?,錄入確認(rèn) ,JOptionPane.YES_NO_OPTION); if(choose=JOptionPane.NO_OPTION)return; boolean flag = true; Stri
41、ng s = 錄入過程中發(fā)生了錯(cuò)誤!n; / 預(yù)定義的錯(cuò)誤信息 /* 檢查學(xué)號(hào)和姓名是否未填入 */ for(int i=0; i2; i+) if(!checkString(textFieldi.getText() flag = false; s = s + labeli + 未填寫!n; /* 檢查各個(gè)成績(jī)是否未填寫或輸入不是整數(shù) */ for(int i=2; ilabel.length; i+) if(!checkInteger(textFieldi.getText() flag = false; s = s + labeli + 成績(jī)未填寫或輸入不是 整數(shù)!n; if(flag) S
42、tudent student = new Student(); student.setNo(textField0.getText().trim(); /* 檢查學(xué)號(hào)是否已存在 */ if(!checkStudentNo(student.getNo() flag = false; s = s + 系統(tǒng)中已存在相同學(xué)號(hào)的信息! n; else /* 封裝文本框中的內(nèi)容到用來傳 參的對(duì)象中 */ student.setName(textField1.getText().trim(); student.setAsmScore(Integer.parseInt(textField2.getText().trim(); student.setJavaScore(Integer.parseInt(textField3.getText().trim(); student.setNetScore(Integer.parseInt(textField4.getText().trim(); student.setOsScore(Integer.parseInt(textField5.getText().trim(); /* 錄入信息 */ flag =
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 《GA 874-2010警用越野突擊車》專題研究報(bào)告
- 2026年及未來5年市場(chǎng)數(shù)據(jù)中國(guó)燒烤料行業(yè)市場(chǎng)調(diào)查研究及發(fā)展趨勢(shì)預(yù)測(cè)報(bào)告
- 2026年及未來5年市場(chǎng)數(shù)據(jù)中國(guó)戶外廣告機(jī)行業(yè)發(fā)展監(jiān)測(cè)及投資策略研究報(bào)告
- 養(yǎng)老院醫(yī)療保健服務(wù)制度
- 2026年及未來5年市場(chǎng)數(shù)據(jù)中國(guó)有機(jī)面粉行業(yè)發(fā)展前景預(yù)測(cè)及投資方向研究報(bào)告
- 交通信號(hào)優(yōu)先通行制度
- 2026浦發(fā)銀行派遣員工招聘參考題庫附答案
- 2026湖北省定向武漢大學(xué)選調(diào)生招錄備考題庫附答案
- 2026湖南益陽市桃江縣中醫(yī)醫(yī)院公開招聘編外勞務(wù)派遣人員5人備考題庫附答案
- 2026甘肅銀行股份有限公司招聘校園備考題庫附答案
- 2025-2026年人教版八年級(jí)上冊(cè)歷史期末考試卷及答案
- 2026年廣西出版?zhèn)髅郊瘓F(tuán)有限公司招聘(98人)考試備考題庫附答案
- 港口碼頭建設(shè)施工方案
- 2025年蘭州新區(qū)幼兒園筆試題及答案
- 總部經(jīng)濟(jì)返稅合同范本
- 文物建筑勘查設(shè)計(jì)取費(fèi)標(biāo)準(zhǔn)(2020年版)
- MSOP(測(cè)量標(biāo)準(zhǔn)作業(yè)規(guī)范)測(cè)量SOP
- 四川山體滑坡地質(zhì)勘察報(bào)告
- 青島啤酒微觀運(yùn)營(yíng)
- 工程結(jié)算書(設(shè)備及安裝類)
- GB/T 19142-2016出口商品包裝通則
評(píng)論
0/150
提交評(píng)論