![JAVA課設(shè)學(xué)生成績標(biāo)準(zhǔn)管理系統(tǒng)_第1頁](http://file4.renrendoc.com/view14/M09/0B/1E/wKhkGWahjRWACXg7AADlKZG2LZY464.jpg)
![JAVA課設(shè)學(xué)生成績標(biāo)準(zhǔn)管理系統(tǒng)_第2頁](http://file4.renrendoc.com/view14/M09/0B/1E/wKhkGWahjRWACXg7AADlKZG2LZY4642.jpg)
![JAVA課設(shè)學(xué)生成績標(biāo)準(zhǔn)管理系統(tǒng)_第3頁](http://file4.renrendoc.com/view14/M09/0B/1E/wKhkGWahjRWACXg7AADlKZG2LZY4643.jpg)
![JAVA課設(shè)學(xué)生成績標(biāo)準(zhǔn)管理系統(tǒng)_第4頁](http://file4.renrendoc.com/view14/M09/0B/1E/wKhkGWahjRWACXg7AADlKZG2LZY4644.jpg)
![JAVA課設(shè)學(xué)生成績標(biāo)準(zhǔn)管理系統(tǒng)_第5頁](http://file4.renrendoc.com/view14/M09/0B/1E/wKhkGWahjRWACXg7AADlKZG2LZY4645.jpg)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
*******************實踐教學(xué)*******************軟件學(xué)院春季學(xué)期Java課程設(shè)計說明書題目:學(xué)生成績管理系統(tǒng)此處寫畢業(yè)設(shè)計題目,黑體、小一、加粗此處寫畢業(yè)設(shè)計題目,黑體、小一、加粗專業(yè)班級:軟件3班姓名:劉坤學(xué)號:12700331指導(dǎo)老師:馬維俊成績: 摘要學(xué)生信息管理系統(tǒng)是學(xué)校管理關(guān)鍵工具,是學(xué)校不可或缺部分。伴隨在校大學(xué)生人數(shù)不停增加,教務(wù)系統(tǒng)數(shù)量也不停上漲,。學(xué)校工作繁雜、資料眾多,人工管理信息難度也越來越大,顯然是不能滿足實際需要,效率也是很低。而且這種傳統(tǒng)方法存在著很多弊端,如:保密性差、查詢不便、效率低,極難維護和更新等。然而,本系統(tǒng)針對以上缺點能夠極大地提升學(xué)生信息管理效率,也是科學(xué)化、正規(guī)化管理。關(guān)鍵詞學(xué)生成績管理數(shù)據(jù)表JAVA
目錄序言 4系統(tǒng)分析和設(shè)計 5具體設(shè)計 8系統(tǒng)測試 11軟件使用說明書 15設(shè)計總結(jié) 17參考文件 18致謝 19附錄 20
序言伴隨這些年電腦計算機速度質(zhì)提升,成本下降,IT互聯(lián)網(wǎng)大眾趨勢發(fā)展。我們使用電腦高效率才處理數(shù)據(jù)信息成為可能。學(xué)生學(xué)籍管理系統(tǒng)出現(xiàn),正是管理人員和信息數(shù)據(jù),計算機進(jìn)入互動時代表現(xiàn)。友好人機交互模式,清楚簡明圖形界面,高效安全操作使得我們對成千上萬信息管理得心應(yīng)手。經(jīng)過這個系統(tǒng),能夠做到信息規(guī)范管理,科學(xué)統(tǒng)計和快速查詢,從而降低管理方面工作量?毋庸置疑,切實有效地把計算機管理引入學(xué)校教務(wù)管理中,對于促進(jìn)學(xué)校管理制度,提升學(xué)校教學(xué)質(zhì)量和辦學(xué)水平有著顯著意義?學(xué)生成績管理系統(tǒng)是學(xué)校日常信息管理一個關(guān)鍵內(nèi)容。伴隨學(xué)??荚嚧螖?shù)越來越多,學(xué)生成績管理工作量也變得越來越大。假如能對學(xué)生成績做系統(tǒng)管理,就能愈加好更方便地快速查詢或修改學(xué)生考試成績,省去了文件管理繁瑣和麻煩,無疑將給學(xué)校管理部門帶來很大方便。學(xué)生成績管理系統(tǒng)就是把學(xué)生考試成績實施統(tǒng)一、集中、規(guī)范搜集管理,建立現(xiàn)代化、專業(yè)化管理系統(tǒng)。
系統(tǒng)分析和設(shè)計學(xué)生成績管理系統(tǒng)對象是在校學(xué)生,成績管理系統(tǒng)為學(xué)生提供了成績查詢等服務(wù);為學(xué)校及老師提供了添加、修改、刪除學(xué)生成績等服務(wù)。本系統(tǒng)基礎(chǔ)上能夠滿足當(dāng)今學(xué)校學(xué)生成績信息管理需求。學(xué)生個人信息錄入項目齊全、完整、系統(tǒng)。作為管理員對學(xué)生成績管理系統(tǒng)需求有:對學(xué)生個人基礎(chǔ)信息瀏覽對學(xué)生個人信息修改對學(xué)生個人信息刪除添加新學(xué)生基礎(chǔ)信息對學(xué)生成績查詢對學(xué)生成績修改對學(xué)生成績刪除為某個學(xué)生添加學(xué)生成績還有用戶登錄模塊,實現(xiàn)管理員登陸,假如沒有管理權(quán)限,則無法使用該軟件,也無法實現(xiàn)對學(xué)生成績各項操作。系統(tǒng)初步調(diào)查是系統(tǒng)分析階段第一項活動,也是系統(tǒng)開發(fā)第一項活動,初步調(diào)查關(guān)鍵目標(biāo)是從系統(tǒng)分析人中和管理人員角度看新系統(tǒng)開發(fā)有沒有必需和可能。可行性研究目標(biāo)就是用最小代價在最短時間內(nèi)確定該軟件項目是否能夠開發(fā),是否值得去開發(fā)。實質(zhì)上就是進(jìn)行一次簡化、壓縮了需求分析、設(shè)計過程??蓮囊韵氯齻€方面分析研究每種處理問題可行性:a.技術(shù)可行性:對項目標(biāo)功效、性能、限制條件進(jìn)行分析,確定在現(xiàn)有資源條件下項目是否能實現(xiàn)。(開發(fā)風(fēng)險、資源有效性、技術(shù))b.社會可行性:要開發(fā)項目是否存在任何侵犯、妨礙等責(zé)任問題,要開發(fā)項目標(biāo)運行方法在用戶組織內(nèi)是否行得通,現(xiàn)有管理制度、人員素質(zhì)、操作方法是否可行。c.經(jīng)濟可行性:進(jìn)行開發(fā)成本估算和了解得到效益評定,確定要開發(fā)項目是否值得投資開發(fā)。對銀行業(yè)來說,是靠存款貸款之間差額來生存,所以要盡可能拉攏更多用戶使用本行,ATM取款機是為了能讓為用戶更便捷服務(wù),從而更含有吸引力。銀行角度出發(fā)還是很還是愿意把一部分資金投入到這方面。系統(tǒng)具體調(diào)查是在可行性研究基礎(chǔ)上深入對現(xiàn)行系統(tǒng)進(jìn)行全方面、深入調(diào)查和分析,搞清現(xiàn)行系統(tǒng)運行情況,發(fā)覺其微弱步驟,確保新系統(tǒng)比原系統(tǒng)更有效。具體調(diào)查關(guān)鍵在于對系統(tǒng)內(nèi)部情況更具體和具體了解,從而能夠提供在新系統(tǒng)建設(shè)時改善或更換內(nèi)容。圖(1)功效模塊圖明確用戶信息需求,明確新系統(tǒng)邏輯功效。關(guān)鍵工作是對用戶需求進(jìn)行深入調(diào)查分析,創(chuàng)建新系統(tǒng)邏輯模型。經(jīng)過仔細(xì)調(diào)查得以下功效模塊圖:錄入圖(1)功效模塊圖錄入學(xué)生成績管理修改刪除導(dǎo)出退出在該系統(tǒng)中包含三個類publicclassStudentManager、classDataTable、classStudent.在main方法里建立主類publicclassStudentManager實體實現(xiàn)多種方法調(diào)用。classDataTable、classStudent里是一系列方法,實現(xiàn)系統(tǒng)里多種功效。在該系統(tǒng)設(shè)計開發(fā)中用運了后臺集成開發(fā)工具M(jìn)yEclipse6.5.數(shù)據(jù)管理方面關(guān)鍵應(yīng)用了文件中輸入輸出流,和流封裝。下圖是三個類之間調(diào)用關(guān)系圖CClassStudentManagerClassDataTableClassStudent圖(2)各類之間調(diào)用關(guān)系
具體設(shè)計1、源文件中關(guān)鍵應(yīng)用包和類:importjavax.swing.*;importjavax.swing.table.*;importjava.awt.*;importjava.awt.event.*;importjava.io.*;importjava.util.*;2、程序中所創(chuàng)建對象容器定義:privateContainercurrentContainer標(biāo)題及其字體定義:privateStringtitleprivateFontheadFont=newFont("黑體",Font.PLAIN,18);數(shù)據(jù)文件創(chuàng)建:privateFiledata=newFile("data.txt");數(shù)據(jù)模型定義:privateDataTabledataModel=newDataTable();數(shù)據(jù)表格創(chuàng)建:privateJTabledataTable=newJTable(dataModel);歡迎面板創(chuàng)建:privateJPanelwelcomePanel=createWelcomePanel();添加信息面板創(chuàng)建:privateJPanelinsertPanel=createInsertPanel();顯示信息面板創(chuàng)建:privateJPaneldisplayPanel=createDisplayPanel();修改信息面板創(chuàng)建:privateJPanelmodifyPanel=createModifyPanel()3、類中定義變量及方法①主類中方法定義/*設(shè)置窗體基礎(chǔ)信息方法*/publicStudentManager(){}/*建立菜單并添加到菜單欄中*/privatevoidcreateMenu(){}/*假如是要切換到顯示信息面板,則同時加載信息*/privatevoidresetPanel(JPanelpanel){}/*創(chuàng)建歡迎面板*/privateJPanelcreateWelcomePanel(){}/*創(chuàng)建添加信息面板*/privateJPanelcreateInsertPanel(){}/*創(chuàng)建顯示信息面板*/privateJPanelcreateDisplayPanel(){}/*只顯示查詢學(xué)號學(xué)生信息*/privatevoidloadStudentInfo(Stringno){/*創(chuàng)建修改信息面板*/privateJPanelcreateModifyPanel(){}/*插入數(shù)據(jù)*/privatebooleaninsertData(Studentstudent){}/*修改數(shù)據(jù)*/privatebooleanmodifyData(Studentstudent){/*檢驗輸入文本信息是否為空*/privatebooleancheckString(Stringtext){}/*檢驗輸入數(shù)字信息是否是整數(shù)*/privatebooleancheckInteger(Stringtext){}/*清空表單信息*/privatevoidclearForm(JTextField[]textField){}/*獲取指定學(xué)號學(xué)生信息*/privateStudentselectStudent(Stringno){}/*獲取全部學(xué)生數(shù)據(jù)*/privateArrayList<Student>displayDataList(){}/*入口方法*/publicstaticvoidmain(String[]args){}②classStudent類中組員變量及組員方法定義privateStringno;privateStringname;privateintasmScore,javaScore,netScore,osScore;/*學(xué)生信息管理各個方法*/publicStringgetNo(){}publicvoidsetNo(Stringno){}publicStringgetName(){}publicvoidsetName(Stringname){}publicintgetAsmScore(){}publicvoidsetAsmScore(intasmScore){}publicintgetJavaScore(){}publicvoidsetJavaScore(intjavaScore){}publicintgetNetScore(){}publicvoidsetNetScore(intnetScore){}publicintgetOsScore(){}publicvoidsetOsScore(intosScore){}③classDataTable中組員變量及組員方法定義String[]label={"學(xué)號","姓名","匯編","Java","網(wǎng)絡(luò)","系統(tǒng)"};ArrayList<Student>dataList=newArrayList<Student>();/*更新學(xué)生信息對象數(shù)組*/publicvoidupdate(ArrayList<Student>dataList){}/*更新學(xué)生信息對象*/publicvoidupdate(Studentstudent){}publicintgetColumnCount(){}publicintgetRowCount(){}publicObjectgetValueAt(introw,intcol){}publicStringgetColumnName(intcolumn){}4﹑下圖是程序中方法調(diào)用關(guān)系classDataTable中各個函數(shù)關(guān)系圖函數(shù)函數(shù)對應(yīng)get()獲取對應(yīng)信息columnCount()RowCount()ValueAt()ColumnName()圖(3)DataTablel類中方法調(diào)用圖②classStudent中各個函數(shù)關(guān)系圖函數(shù)函數(shù)對應(yīng)get()函數(shù)取得對應(yīng)信息對應(yīng)set()函數(shù)取得對應(yīng)信息nonameAsmScoreJavaScoreNeetScoreOScore圖(4)Student類中方法調(diào)用圖
系統(tǒng)測試下圖是學(xué)生成績管理初始登陸界面實現(xiàn)用戶登陸圖(5)初始界面2.學(xué)生成績錄入界面圖(6)輸入要錄入信息圖(7)提醒是否確定錄入圖(8)提醒用戶已錄入成功3.學(xué)生成績列表顯示圖(9)顯示全部學(xué)生信息學(xué)生成績查詢圖(10)顯示查詢結(jié)果學(xué)生成績刪除圖(11)提醒是否要刪除信息圖(12)提醒刪除成功圖(13)顯示刪除后信息列表
軟件使用說明書下圖是一個初始系統(tǒng)登錄界面,用戶能夠經(jīng)過幫助管理、和幫助按鈕實現(xiàn)下拉菜單里功效使用。1、管理按鈕用戶能夠經(jīng)過單擊鼠標(biāo)來應(yīng)用此按鈕功效,當(dāng)單擊以后出現(xiàn)是以下拉菜單顯示,其中包含了錄入、修改、刪除、導(dǎo)出、退出。錄入此功效能夠?qū)崿F(xiàn)管理員對學(xué)生成績添加,實現(xiàn)學(xué)號、姓名、匯編語言、Java語言、計算機網(wǎng)絡(luò)、操作系統(tǒng)添加。關(guān)鍵針對于新生信息添加,還有在校學(xué)生信息完善。修改此功效能夠?qū)崿F(xiàn)對學(xué)生信息修改。刪除此功效能夠?qū)崿F(xiàn)對學(xué)生信息刪除,用來適應(yīng)畢業(yè)、離校學(xué)生信息刪除。導(dǎo)出此功效關(guān)鍵實現(xiàn)是將以有學(xué)生信息輸出到特定文件便于打印。退出此功效實現(xiàn)是提醒用戶退出該系統(tǒng)。2、幫助按鈕當(dāng)用戶單擊幫助按鈕以后出現(xiàn)是說明和版權(quán)。說明說明關(guān)鍵實現(xiàn)該系統(tǒng)一個說明。版權(quán)關(guān)鍵是系統(tǒng)版權(quán)申明。為了保護系統(tǒng)開發(fā)者針對于該系統(tǒng)擁有權(quán),保護自己正當(dāng)權(quán)益,知識產(chǎn)權(quán)。
設(shè)計總結(jié)這次課程設(shè)計我實現(xiàn)了對學(xué)生基礎(chǔ)信息,學(xué)生成績和課程信息查詢,方便用戶使用,當(dāng)然系統(tǒng)也存在部分不足,因為時間上關(guān)系和設(shè)計時開發(fā)環(huán)境工具選擇使用問題,有一部分功效能夠更具體化,而有些功效還為實現(xiàn),因能力有限,將會在以后過程中對其擴充改善。此系統(tǒng)開發(fā)使我取得了部分珍貴實踐經(jīng)驗,也使理論水平得到了應(yīng)用和強化,提升了我實際開發(fā)能力,使理論和實踐相得益彰,相互促進(jìn)。在完成過程中也碰到了很多問題,有是不明白,經(jīng)過問老師,問同學(xué),查資料,基礎(chǔ)得四處理。從中學(xué)到知識我也是終生受用。
參考文件(1)丁振凡.《Java語言實用教程》北京郵電大學(xué)出版社(2)耿祥義.《Java2實用教程》清華大學(xué)出版社(3)趙付青.《Java面向?qū)ο蟪绦蛟O(shè)計》國防工業(yè)出版社.(4)耿祥義.《Java課程設(shè)計》清華大學(xué)出版社
致謝首先,我們要感謝學(xué)校給我們提供了此次課程設(shè)計機會,能讓我們在一起學(xué)習(xí)和研究,讓我們有機會對所學(xué)理論知識進(jìn)行實踐。其次,我們還要尤其感謝我們教導(dǎo)老師龐淑俠,在她精心教導(dǎo)和幫助下,我們設(shè)計才得以順利完成。對她為我們設(shè)計所提出寶貴意見表示忠心感謝!最終,在程序編寫過程中,也得到了很多同學(xué)寶貴提議,真正體驗到團體力量是多么強大,在此一并致以真摯謝意。
附錄源程序:packageprogressbardemo;importjavax.swing.*;importjavax.swing.table.*;importjava.awt.*;importjava.awt.event.*;importjava.io.*;importjava.util.*;/***學(xué)生成績管理系統(tǒng)*/publicclassStudentManagerextendsJFrame{/** * */ privatestaticfinallongserialVersionUID=1L; /***目前窗體*/privateContainercurrentContainer=this;/***窗體標(biāo)題*/privateStringtitle="學(xué)生成績管理系統(tǒng)";/***標(biāo)題字體*/privateFontheadFont=newFont("黑體",Font.PLAIN,18);/***數(shù)據(jù)文件*/privateFiledata=newFile("data.txt");/***數(shù)據(jù)模型*/privateDataTabledataModel=newDataTable();/***數(shù)據(jù)表格*/privateJTabledataTable=newJTable(dataModel);/***備注*/privateJLabelextraLabel=newJLabel();/***歡迎面板*/privateJPanelwelcomePanel=createWelcomePanel();/***添加信息面板*/privateJPanelinsertPanel=createInsertPanel();/***顯示信息面板*/privateJPaneldisplayPanel=createDisplayPanel();/***修改信息面板*/privateJPanelmodifyPanel=createModifyPanel();/***結(jié)構(gòu)器:初始化窗體*/publicStudentManager(){/*設(shè)置窗體基礎(chǔ)信息*/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)建一個*/if(!data.exists()){try{newFileWriter(data);}catch(IOExceptione){}}/*顯示窗體*/this.setVisible(true);}/***創(chuàng)建菜單欄*/privatevoidcreateMenu(){JMenuBarmenubar=newJMenuBar();/*建立菜單并添加到菜單欄中*/JMenumanageMenu=newJMenu("管理");menubar.add(manageMenu);JMenuhelpMenu=newJMenu("幫助");menubar.add(helpMenu);/*建立菜單項并添加到菜單中*/JMenuItemm_add=newJMenuItem("添加");JMenuItemm_manage=newJMenuItem("查看");JMenuItemm_modify=newJMenuItem("修改");JMenuItemm_export=newJMenuItem("導(dǎo)出");JMenuItemm_exit=newJMenuItem("退出");manageMenu.add(m_add);manageMenu.add(m_modify);manageMenu.add(m_manage);manageMenu.addSeparator();manageMenu.add(m_export);manageMenu.addSeparator();manageMenu.add(m_exit);JMenuItemm_help=newJMenuItem("說明");JMenuItemm_copy=newJMenuItem("版權(quán)");helpMenu.add(m_help);helpMenu.addSeparator();helpMenu.add(m_copy);/*為添加菜單項注冊監(jiān)聽器,使點擊該菜單項時添加學(xué)生成績數(shù)據(jù)*/m_add.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){resetPanel(insertPanel);}});/*為修改菜單項注冊監(jiān)聽器,使點擊該菜單項時修改學(xué)生成績數(shù)據(jù)*/m_modify.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){resetPanel(modifyPanel);}});/*為管理菜單項注冊監(jiān)聽器,使點擊該菜單項時顯示學(xué)生成績列表*/m_manage.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){resetPanel(displayPanel);}});/*為導(dǎo)出菜單項注冊監(jiān)聽器,使點擊該菜單項時復(fù)制現(xiàn)有數(shù)據(jù)到指定文件*/m_export.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){/*彈出保留文件對話框供選擇要保留文件及位置*/JFileChooserchooser=newJFileChooser();intchoose=chooser.showSaveDialog(currentContainer);if(choose==JFileChooser.APPROVE_OPTION){/*調(diào)用導(dǎo)出數(shù)據(jù)到文件方法*/booleanflag=exportData(chooser.getSelectedFile());if(flag){JOptionPane.showMessageDialog(currentContainer,"數(shù)據(jù)已經(jīng)成功導(dǎo)出到指定文件!","導(dǎo)出成功",JOptionPane.PLAIN_MESSAGE);}else{JOptionPane.showMessageDialog(currentContainer,"無法導(dǎo)出到指定文件!","導(dǎo)出失敗",JOptionPane.ERROR_MESSAGE);}}}});/*為退出菜單項注冊監(jiān)聽器,使點擊該菜單項時退出程序*/m_exit.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){System.exit(0);}});/*為說明菜單項注冊監(jiān)聽器,使點擊該菜單項時彈出程序說明窗口*/m_help.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){JOptionPane.showMessageDialog(currentContainer,"沒有任何說明……","幫助信息",JOptionPane.PLAIN_MESSAGE);}});/*為版權(quán)菜單項注冊監(jiān)聽器,使點擊該菜單項時彈出版權(quán)信息窗口*/m_copy.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){JOptionPane.showMessageDialog(currentContainer,"小組組員:\n"+"12700331劉坤","版權(quán)信息",JOptionPane.INFORMATION_MESSAGE);}});/*設(shè)置菜單欄*/this.setJMenuBar(menubar);}/***重設(shè)面板*/privatevoidresetPanel(JPanelpanel){this.setVisible(false);this.getContentPane().removeAll();/*假如是要切換到顯示信息面板,則同時加載信息*/if(panel==displayPanel){loadData();}this.getContentPane().add(panel);this.setVisible(true);}/***創(chuàng)建歡迎面板*@return歡迎面板*/privateJPanelcreateWelcomePanel(){JPanelpanel=newJPanel();/*標(biāo)題文本*/JLabeltitle=newJLabel("學(xué)生成績管理系統(tǒng)v1.0");title.setFont(headFont);panel.add(title);panel.setVisible(true);returnpanel;}/***創(chuàng)建添加信息面板*@return添加信息面板*/privateJPanelcreateInsertPanel(){JPanelpanel=newJPanel();panel.setLayout(null);panel.setFocusable(true);/*標(biāo)題文本*/JLabeltitle=newJLabel("錄入學(xué)生成績");title.setFont(headFont);panel.add(title);title.setBounds(175,25,120,30);/*顯示表單文本及文本框*/finalString[]label={"學(xué)號","姓名","匯編程序設(shè)計","Java程序設(shè)計","計算機網(wǎng)絡(luò)","操作系統(tǒng)"};finalJTextField[]textField=newJTextField[label.length];for(inti=0;i<label.length;i++){JLabeltitleLabel=newJLabel(label[i]+":");titleLabel.setBounds(100,80+40*i,120,30);panel.add(titleLabel);textField[i]=newJTextField(20);textField[i].setBounds(220,80+40*i,150,24);panel.add(textField[i]);}/*為學(xué)號按鈕注冊監(jiān)聽器,使移開焦點時自動檢測鍵入學(xué)號是否存在*/textField[0].addFocusListener(newFocusListener(){publicvoidfocusGained(FocusEvente){}/***當(dāng)焦點缺失時*/publicvoidfocusLost(FocusEvente){booleanflag=true;Strings="";/*檢測學(xué)號是否輸入*/if(!checkString(textField[0].getText())){flag=false;s="學(xué)號不能為空!\n";}if(flag){/*檢驗學(xué)號是否已存在*/if(!checkStudentNo(textField[0].getText().trim())){flag=false;s="系統(tǒng)已存在該學(xué)號信息!\n";}}if(!flag){/*輸入有誤或系統(tǒng)中不存在指定學(xué)號則彈出提醒*/JOptionPane.showMessageDialog(currentContainer,s,"錯誤",JOptionPane.ERROR_MESSAGE);}}});/*錄入按鈕*/JButtonaddBtn=newJButton("錄入信息");panel.add(addBtn);addBtn.setBounds(140,340,105,30);/*為錄入按鈕注冊監(jiān)聽器,使點擊完成錄入操作*/addBtn.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){intchoose=JOptionPane.showConfirmDialog(currentContainer,"確定要錄入信息嗎?","錄入確定",JOptionPane.YES_NO_OPTION);if(choose==JOptionPane.NO_OPTION)return;booleanflag=true;Strings="錄入過程中發(fā)生了錯誤!\n";//預(yù)定義錯誤信息/*檢驗學(xué)號和姓名是否未填入*/for(inti=0;i<2;i++){if(!checkString(textField[i].getText())){flag=false;s=s+label[i]+"未填寫!\n";}}/*檢驗各個成績是否未填寫或輸入不是整數(shù)*/for(inti=2;i<label.length;i++){if(!checkInteger(textField[i].getText())){flag=false;s=s+label[i]+"成績未填寫或輸入不是整數(shù)!\n";}}if(flag){Studentstudent=newStudent();student.setNo(textField[0].getText().trim());/*檢驗學(xué)號是否已存在*/if(!checkStudentNo(student.getNo())){flag=false;s=s+"系統(tǒng)中已存在相同學(xué)號信息!\n";}else{/*封裝文本框中內(nèi)容到用來傳參對象中*/student.setName(textField[1].getText().trim());student.setAsmScore(Integer.parseInt(textField[2].getText().trim()));student.setJavaScore(Integer.parseInt(textField[3].getText().trim()));student.setNetScore(Integer.parseInt(textField[4].getText().trim()));student.setOsScore(Integer.parseInt(textField[5].getText().trim()));/*錄入信息*/flag=insertData(student);}}if(flag){JOptionPane.showMessageDialog(currentContainer,"錄入成功!","錄入成功",JOptionPane.PLAIN_MESSAGE);clearForm(textField);//錄入成功則清空全部文本框內(nèi)容}else{JOptionPane.showMessageDialog(currentContainer,s,"錄入失敗",JOptionPane.ERROR_MESSAGE);}}});/*清空按鈕*/JButtonclearBtn=newJButton("清空");panel.add(clearBtn);clearBtn.setBounds(280,340,60,30);/*為清空按鈕注冊監(jiān)聽器,使點擊調(diào)用清空全部文本框方法*/clearBtn.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){clearForm(textField);}});panel.setVisible(true);returnpanel;}/***創(chuàng)建顯示信息面板*@return顯示信息面板*/privateJPanelcreateDisplayPanel(){JPanelpanel=newJPanel();panel.setVisible(true);/*學(xué)號文本及文本框*/panel.add(newJLabel("學(xué)號:"));finalJTextFieldtextField=newJTextField(10);panel.add(textField);panel.add(newJLabel(""));/*查詢按鈕*/JButtonsearchBtn=newJButton("查詢");panel.add(searchBtn);/*為查詢按鈕注冊監(jiān)聽器,點擊則查詢該學(xué)號學(xué)生信息并更新到表格中*/searchBtn.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){Stringno=textField.getText();/*檢驗學(xué)號是否輸入*/if(!checkString(no)){JOptionPane.showMessageDialog(currentContainer,"未輸入學(xué)號!","查詢失敗",JOptionPane.ERROR_MESSAGE);return;}/*檢驗是否有該學(xué)號統(tǒng)計*/if(checkStudentNo(no)){JOptionPane.showMessageDialog(currentContainer,"不存在該學(xué)號學(xué)生信息!","查詢失敗",JOptionPane.ERROR_MESSAGE);return;}/*更新指定學(xué)號學(xué)生信息到表格*/loadStudentInfo(no);}});/*刪除按鈕*/JButtondeleteBtn=newJButton("刪除");panel.add(deleteBtn);/*為刪除按鈕注冊監(jiān)聽器,點擊則刪除該學(xué)號學(xué)生信息*/deleteBtn.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){Stringno=textField.getText();/*檢驗學(xué)號是否輸入*/if(!checkString(no)){JOptionPane.showMessageDialog(currentContainer,"未輸入學(xué)號!","刪除失敗",JOptionPane.ERROR_MESSAGE);return;}/*檢驗是否有該學(xué)號統(tǒng)計*/if(checkStudentNo(no)){JOptionPane.showMessageDialog(currentContainer,"不存在該學(xué)號學(xué)生信息!","刪除失敗",JOptionPane.ERROR_MESSAGE);return;}/*彈出對話框確定是否要刪除*/intchoose=JOptionPane.showConfirmDialog(currentContainer,"確定要刪除學(xué)號為"+no+"學(xué)生信息嗎?","刪除確定",JOptionPane.YES_NO_OPTION);if(choose==JOptionPane.NO_OPTION)return;/*實施刪除方法*/booleanflag=deleteData(no);if(!flag){JOptionPane.showMessageDialog(currentContainer,"刪除過程中發(fā)生了錯誤!","刪除失敗",JOptionPane.ERROR_MESSAGE);return;}/*刪除成功則跳轉(zhuǎn)到顯示面板,并清空學(xué)號文本框*/resetPanel(displayPanel);JOptionPane.showMessageDialog(currentContainer,"已經(jīng)刪除了該學(xué)號學(xué)生信息!","刪除成功",JOptionPane.PLAIN_MESSAGE);textField.setText("");}});/*顯示全部信息按鈕*/JButtonallBtn=newJButton("查看全部信息");panel.add(allBtn);/*為顯示全部信息按鈕注冊監(jiān)聽器,使點擊更新表格數(shù)據(jù)為全部學(xué)生信息*/allBtn.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){textField.setText("");//清空學(xué)號文本框loadData();//加載表格信息}});/*數(shù)據(jù)表格初始化參數(shù)*/dataTable.setAutoscrolls(true);//設(shè)置表格自動滾動dataTable.setPreferredScrollableViewportSize(newDimension(420,300));//設(shè)置表格大小/*添加數(shù)據(jù)表格和備注信息*/panel.add(newJScrollPane(dataTable));panel.add(extraLabel);returnpanel;}/***加載信息*/privatevoidloadData(){/*讀取全部學(xué)生數(shù)據(jù)*/ArrayList<Student>dataList=displayDataList();/*更新到表格*/dataModel.update(dataList);/*通知表格數(shù)據(jù)改變*/dataModel.fireTableDataChanged();/*更新表格顯示*/dataTable.updateUI();/*更新備注信息*/extraLabel.setText("目前系統(tǒng)中共有"+dataList.size()+"條信息");}/***只顯示查詢學(xué)號學(xué)生信息*/privatevoidloadStudentInfo(Stringno){/*讀取指定學(xué)號學(xué)生數(shù)據(jù)更新到表格*/dataModel.update(selectStudent(no));/*通知表格數(shù)據(jù)改變*/dataModel.fireTableDataChanged();/*更新表格顯示*/dataTable.updateUI();/*更新備注信息
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度新型起重機專利許可及銷售代理合同
- 合作房地產(chǎn)開發(fā)協(xié)議(28篇)
- 師傅和徒弟作文
- 2025年兼職工勞務(wù)合同格式
- 2025年企業(yè)合作投資與合資合同
- 2025年信用卡預(yù)借現(xiàn)金協(xié)議書范本
- 2025年中尺度自動氣象站系統(tǒng)項目立項申請報告
- 2025年區(qū)域飲品代理合作協(xié)議范本
- 2025年式多功能打印機銷售合同規(guī)范
- 2025年企業(yè)電力安全使用標(biāo)準(zhǔn)協(xié)議書
- 大型商業(yè)綜合體消防安全管理規(guī)則培訓(xùn)
- 2025年中考物理終極押題猜想(新疆卷)(全解全析)
- 1《讀懂彼此的心》(說課稿)2023-2024學(xué)年統(tǒng)編版道德與法治五年級下冊
- DB32T 2857-2015 玉米產(chǎn)量現(xiàn)場測定操作規(guī)程
- 脛骨骨折的護理查房
- 房顫手術(shù)后護理流程
- 2024版質(zhì)量管理培訓(xùn)
- 校車駕駛員照管員培訓(xùn)
- 高中師德師風(fēng)培訓(xùn)
- 電動工具培訓(xùn)課件
- 建筑總工程師招聘面試題與參考回答2025年
評論
0/150
提交評論