java課程設計方案學生信息管理系統(tǒng)_第1頁
java課程設計方案學生信息管理系統(tǒng)_第2頁
java課程設計方案學生信息管理系統(tǒng)_第3頁
java課程設計方案學生信息管理系統(tǒng)_第4頁
java課程設計方案學生信息管理系統(tǒng)_第5頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

Java程序設計課程設計目錄TOC\o"1-2"\h\zHYPERLINK\l”_Toc265281114”一、總體設計1.1同學信息系統(tǒng)結構圖………………1。HYPERLINK\l"_Toc265281115"1.2本系統(tǒng)的主要功能…………………2。1。3Java源文件及其功能………………2。HYPERLINK\l"_Toc265281119"二、簡略設計HYPERLINK\l"_Toc265281120”2。1主類StudentManager………………3。HYPERLINK\l”_Toc265281121"2.2類StudentSituation………………5HYPERLINK\l”_Toc265281122"2.3類ModifySituation……………….8HYPERLINK\l"_Toc265281123”2.4類inquest…………10HYPERLINK\l"_Toc265281126"2.5類Delete……………12HYPERLINK\l”_Toc265281124"HYPERLINK\l”_Toc265281125”2。6類Student………….13HYPERLINK\l"_Toc265281127"三、功能測試及運行效果HYPERLINK\l"_Toc265281128"3.1系統(tǒng)主界面………….15HYPERLINK\l"_Toc265281129"3。2錄入信息界面……………………。。15HYPERLINK\l”_Toc265281130"3.3修改信息界面……………………..。163.3查詢信息界面…………163。3刪除信息界面…………17程序總結……………………17HYPERLINK\l”_Toc265281133”HYPERLINK\l”_Toc265281134"參考文獻……………………17一、總體設計1.1同學信息系統(tǒng)結構圖學生信息管理系統(tǒng)學生信息管理系統(tǒng)查詢學生信息刪除學生信息修改學生信息錄入學生信息查詢學生信息刪除學生信息修改學生信息錄入學生信息刪除學號查詢學號修改年級修改專業(yè)修改姓名錄入學號修改生日錄入年級出生日期錄入姓名錄入專業(yè)錄入學號刪除學號查詢學號修改年級修改專業(yè)修改姓名錄入學號修改生日錄入年級出生日期錄入姓名錄入專業(yè)錄入學號刪除專業(yè)刪除姓名顯示生日顯示年級顯示專業(yè)顯示姓名刪除生日刪除年級刪除專業(yè)刪除姓名顯示生日顯示年級顯示專業(yè)顯示姓名刪除生日刪除年級同學信息系統(tǒng)分析結構圖1.2本系統(tǒng)的主要功能運行該系統(tǒng)成功后,會消滅一個歡迎使用的主界面,上面的菜單選項,會彈出4個子菜單分別是錄入基本信息、修改基本信息、查詢基本信息、刪除基本信息。點擊它們會消滅不同的界面,分別有不同的功能:1.StudentManager。java該類負責創(chuàng)建同學信息管理系統(tǒng)的主窗口,該類還有main方法,程序從該類開頭執(zhí)行。2.StudentSituat(yī)ion.java該類創(chuàng)建的對象是StudentManager類的重要成員之一,負責供應錄入、重置同學基本信息的界面。3。ModifySituation.java該類創(chuàng)建的對象是StudentManager類的重要成員之一,負責供應修改同學基本信息的界面.4.Delete.java該類創(chuàng)建的對象是StudentManager類的重要成員之一,負責供應刪除同學基本信息的界面。5.inquest。java創(chuàng)建的對象是StudentManager類的重要成員之一,該類負責供應查詢同學基本信息的界面。6。Student.java該類創(chuàng)建的對象是StudentManager類的重要成員之一,該類在做上面操作時可以返回同學的基本信息,主要起到一個返回的作用。本系統(tǒng)是基于數據庫的同學信息管理系統(tǒng),實現(xiàn)了連接數據庫,錄入、修改、查詢、刪除同學信息的功能。1.3Java源文件及其功能1。icon。jpg該文件是窗口最小化時的窗口圖標,StudentSituation需要調用該文件。2。專業(yè)。txt該文件為專業(yè)組合的組合鍵供應下拉菜單的內容,StudentSituation和ModifySituation調用該文件.二、簡略設計2.1主類StudentManager表2—1主要成員變量(屬性)成員變量描述變量類型名稱面板StudentSituationNULL面板ModifySituationNULL面板inquestNULL面板DeleteNULL菜單欄JMenuBarbar菜單組JMenufileMenu菜單項JMenuItemStudentSituation,ModifySituationInquest,Delete布局管理器CardLayoutcard表2—2主要方法方法名稱返回類型功能備注StudentManager無類型創(chuàng)建窗口構造方法actionPerformed無類型處理響應大事繼承自父類抽象方法main無類型執(zhí)行程序程序的主函數源代碼StudentManager.javaimportjava.awt。*;importjava.awt.event.*;importjavax.swing.*;importjava.io。*;importjava。util.Hashtable;publicclassStudentManagerextendsJFrameimplementsActionListener{StudentSituation基本信息錄入=null;ModifySituation基本信息修改=null;Inquest基本信息查詢=null;Delete基本信息刪除=null;JMenuBarbar;JMenufileMenu;JMenuItem錄入,修改,查詢,刪除;Containercon=null;Hashtable基本信息=null;Filefile=null;CardLayoutcard=null;JLabellabel=null;JPanelpCenter;publicStudentManager(){錄入=newJMenuItem(”錄入基本信息”);修改=newJMenuItem(”修改基本信息");查詢=newJMenuItem("查詢基本信息”);刪除=newJMenuItem("刪除基本信息");bar=newJMenuBar();fileMenu=newJMenu("菜單選項");fileMenu。add(錄入);fileMenu.add(修改);fileMenu.add(查詢);fileMenu.add(刪除);bar.add(fileMenu);setJMenuBar(bar);label=newJLabel(”welcometousestudentssystem!”,JLabel.CENTER);label.setFont(newFont("楷體",F(xiàn)ont.BOLD,22));label.setForeground(Color.black);基本信息=newHashtable();錄入.addActionListener(this);修改.addActionListener(this);查詢.addActionListener(this);刪除.addActionListener(this);card=newCardLayout();con=getContentPane();pCenter=newJPanel();pCenter。setLayout(card);file=newFile("基本信息.txt”);if(!file.exists()){try{FileOutputStreamout=newFileOutputStream(file);ObjectOutputStreamobjectOut=newObjectOutputStream(out);objectOut.writeObject(基本信息);objectOut。close();out.close();}catch(IOExceptione){}}基本信息錄入=newStudentSituation(file);基本信息修改=newModifySituation(file);基本信息查詢=newInquest(this,file);基本信息刪除=newDelete(file);pCenter.add("歡迎語界面”,label);pCenter.add("錄入界面",基本信息錄入);pCenter.add("修改界面",基本信息修改);pCenter.add(”刪除界面",基本信息刪除);con.add(pCenter,BorderLayout.CENTER);con。validat(yī)e();addWindowListener(newWindowAdapter(){publicvoidwindowClosing(WindowEvente){System。exit(0);?}});setVisible(true);setBounds(100,50,420,380);validate();}publicvoidactionPerformed(ActionEvente){if(e。getSource()==錄入){card.show(pCenter,”錄入界面");}elseif(e。getSource()==修改){card.show(pCenter,”修改界面");}elseif(e。getSource()==查詢){基本信息查詢.setVisible(true);}elseif(e。getSource()==刪除){card。show(pCenter,”刪除界面");}}publicstaticvoidmain(Stringargs[]){newStudentManager();}}2.2類StudentSituation表2-3主要成員變量成員變量描述變量類型名稱Hashtable對象類型HashtableNULL文本域JTextField學號、姓名、專業(yè)、班級、誕生組合框JComboBoxSmajor單選框ButtonGroup男、女按鈕多斥作用域ButtonGroupgroup按鈕JButton錄入、重置表2—4主要方法方法名稱返回類型功能備注StudentSituation無類型創(chuàng)建錄入同學信息界面構造方法actionPerformed無類型處理響應大事繼承自父類抽象方法源代碼StudentSituat(yī)ion.javaimportjava.awt.*;importjava。awt.event。*;importjavax.swing.*;importjava。io.*;importjava。util。*;publicclassStudentSituationextendsJPanelimplementsActionListener{Hashtable基本信息表=null;JTextField學號,姓名,專業(yè),班級,誕生;JRadioButton男,女;Student同學=null;ButtonGroupgroup=null;JButton錄入,重置;FileInputStreaminOne=null;ObjectInputStreaminTwo=null;FileOutputStreamoutOne=null;ObjectOutputStreamoutTwo=null;Filefile=null;publicStudentSituation(Filefile){this。file=file;學號=newJTextField(10);姓名=newJTextField(10);專業(yè)=newJTextField(10);班級=newJTextField(10);誕生=newJTextField(10);group=newButtonGroup();男=newJRadioButton("男”,true);女=newJRadioButton("女",false);group。add(男);group。add(女);錄入=newJButton("錄入");重置=newJButton("重置");錄入.addActionListener(this);重置。addActionListener(this);Boxbox1=Box。createHorizontalBox();box1。add(newJLabel("學號:”,JLabel.CENTER));box1。add(學號);Boxbox2=Box.createHorizontalBox();box2。add(newJLabel("姓名:",JLabel.CENTER));box2.add(姓名);Boxbox3=Box。creat(yī)eHorizontalBox();box3。add(newJLabel(”性別:”,JLabel.CENTER));box3。add(男);box3.add(女);Boxbox4=Box。createHorizontalBox();box4.add(newJLabel(”專業(yè):",JLabel.CENTER));box4.add(專業(yè));Boxbox5=Box.creat(yī)eHorizontalBox();box5。add(newJLabel("班級:”,JLabel.CENTER));box5。add(班級);Boxbox6=Box。createHorizontalBox();box6.add(newJLabel(”誕生:",JLabel.CENTER));box6.add(誕生);BoxboxH=Box.createVerticalBox();boxH.add(box1);boxH.add(box2);boxH.add(box3);boxH.add(box4);boxH.add(box5);boxH.add(box6);boxH.add(Box。createVerticalGlue());JPanelpCenter=newJPanel();pCenter。add(boxH);setLayout(newBorderLayout());add(pCenter,BorderLayout.CENTER);JPanelpSouth=newJPanel();pSouth.add(錄入);pSouth.add(重置);add(pSouth,BorderLayout.SOUTH);validate();}publicvoidactionPerformed(ActionEvente){if(e.getSource()==錄入){Stringnumber="";number=學號.getText();if(number.length()〉0){try{inOne=newFileInputStream(file);inTwo=newObjectInputStream(inOne);基本信息表=(Hashtable)inTwo。readObject();inOne.close();inTwo。close();}catch(Exceptionee){}if(基本信息表.containsKey(number)){Stringwarning="該生基本信息已存在,請到修改頁面修改?。?JOptionPane。showMessageDialog(this,warning,"警告”,JOptionPane。WARNING_MESSAGE);}else{Stringm=”基本信息將被錄入!";intok=JOptionPane.showConfirmDialog(this,m,"確認”,JOptionPane.YES_NO_OPTION,JOptionPane.INFORMATION_MESSAGE);if(ok==JOptionPane.YES_OPTION){Stringname=姓名.getText();Stringdiscipling=專業(yè)。getText();Stringgrade=班級.getText();Stringborth=誕生。getText();Stringsex=null;if(男.isSelected()){sex=男.getText();}else{sex=女。getText();}同學=newStudent();同學.setNumber(number);同學.setName(name);同學.setDiscipling(discipling);同學.setGrade(grade);同學.setBorth(borth);同學.setSex(sex);try{outOne=newFileOutputStream(file);outTwo=newObjectOutputStream(outOne);基本信息表。put(number,同學);outTwo.writeObject(基本信息表);outTwo。close();outOne.close();學號.setText(null);姓名。setText(null);專業(yè)。setText(null);班級.setText(null);誕生.setText(null);}catch(Exceptionee){System。out。println(ee);}}}}else{Stringwarning="必必要輸入學號!”;JOptionPane。showMessageDialog(this,warning,"警告”,JOptionPane.WARNING_MESSAGE);}}if(e.getSource()==重置){學號.setText(null);姓名。setText(null);專業(yè).setText(null);班級.setText(null);誕生。setText(null);}}}HYPERLINK2。3類ModifySituation表2-5主要成員變量成員變量描述變量類型名稱Hashtable對象類型HashtableNULL文本域JTextField學號、姓名、專業(yè)、班級、誕生組合框JComboBoxSmajor單選框ButtonGroup男、女按鈕多斥作用域ButtonGroupgroup按鈕JButton開頭修改、錄入修改、重置表2-6主要方法方法名稱返回類型功能備注ModifySituation無類型創(chuàng)建修改同學信息界面構造方法actionPerformed無類型處理響應大事繼承自父類抽象方法clearMess無類型清除文本框內容無8核心源代碼ModifySituat(yī)ion。javapublicclassModifySituationextendsJPanelimplementsActionListener{Hashtable基本信息表=null;JTextField學號,姓名,專業(yè),班級,誕生;JRadioButton男,女;ButtonGroupgroup=null;JButton開頭修改,錄入修改,重置;FileInputStreaminOne=null;ObjectInputStreaminTwo=null;FileOutputStreamoutOne=null;ObjectOutputStreamoutTwo=null;Filefile=null;publicModifySituation(Filefile){this.file=file;學號=newJTextField(10);姓名=newJTextField(10);專業(yè)=newJTextField(10);班級=newJTextField(10);誕生=newJTextField(10);group=newButtonGroup();男=newJRadioButton(”男”,true);女=newJRadioButton("女”,false);group.add(男);group。add(女);開頭修改=newJButton(”開頭修改");錄入修改=newJButton(”錄入修改");錄入修改.setEnabled(false);重置=newJButton("重置");學號.addActionListener(this);開頭修改。addActionListener(this);錄入修改.addActionListener(this);重置.addActionListener(this);Boxbox1=Box。createHorizontalBox();。.......。....。..部分源代碼省略....。。..。。...。...學號.setText(null);姓名.setText(null);專業(yè)。setText(null);班級.setText(null);誕生.setText(null);}catch(Exceptionee){System.out.println(ee);}錄入修改.setEnabled(false);}elseif(ok==JOptionPane.NO_OPTION){錄入修改。setEnabled(true);}}else{Stringwarning="該學號沒有基本信息,不能修改!";錄入修改.setEnabled(false);}}else{Stringwarning="必必要輸入學號!”;JoptionPane.showmessageDialog(this,waring,”警告",JoptionPane.WARNING錄入修改。setEnabled(false);}}if(e.getSource()==重置){學號.setText(null);姓名.setText(null);專業(yè).setText(null);班級。setText(null);誕生.setText(null);}}}HYPERLINK\l”_Toc265281123”2.4類inquest表2—7主要成員變量成員變量描述變量類型名稱Hashtable對象類型Hashtableinquest文本域JTextField學號,姓名,專業(yè),班級,誕生啟動并執(zhí)行打印作業(yè)PrintJobpri單選框ButtonGroup男,女按鈕多斥作用域ButtonGroupgroup按鈕JButton查詢表2-8主要方法方法名稱返回類型功能備注inquest無類型創(chuàng)建錄入同學信息界面構造方法actionPerformed無類型處理響應大事繼承自父類抽象方法核心源代碼inquest.javaimportjava.awt.*;importjava.awt。event。*;importjavax.swing。*;importjava.io.*;importjava.util。*;publicclassInquestextendsJDialogimplementsActionListener{Hashtable基本信息表=null;JTextField學號,姓名,專業(yè),班級,誕生;JRadioButton男,女;JButton查詢;ButtonGroupgroup=null;FileInputStreaminOne=null;ObjectInputStreaminTwo=null;Filefile=null;publicInquest(JFramef,Filefile){。.。.。...。..。.。..部分源代碼省略.。....。。。.。。。..。.inOne。close();inTwo.close();}catch(Exceptionee){}if(基本信息表.containsKey(number)){Studentstu=(Student)基本信息表.get(number);姓名。setText(stu.getName());專業(yè).setText(stu.getDisciping());班級.setText(stu.getGrade());誕生.setText(stu.getBorth());if(stu。getSex().equals("男")){男.setSelected(true);}else{女.setSelected(true);}}else{Stringwarning="該學號不存在!";}}}HYPERLINK\l”_Toc265281126"2。5類Delete表2-9主要成員變量成員變量描述變量類型名稱Hashtable對象類型HashtabledelStuqueryStu文本域JTextField學號,姓名,專業(yè),班級,誕生單選框ButtonGroup男,女按鈕多斥作用域ButtonGroupgroup按鈕JButtondel表2—10主要方法方法名稱返回類型功能備注InputStudent無類型創(chuàng)建錄入同學信息界面構造方法actionPerformed無類型處理響應大事繼承自父類抽象方法核心源代碼Delete。javapublicclassDeleteextendsJPanelimplementsActionListener{Hashtable基本信息表=null;JTextField學號,姓名,專業(yè),班級,誕生;JRadioButton男,女;JButton刪除;ButtonGroupgroup=null;FileInputStreaminOne=null;ObjectInputStreaminTwo=null;FileOutputStreamoutOne=null;ObjectOutputStreamoutTwo=null;Filefile=null;publicDelete(Filefile){this.file=file;學號=newJTextField(10);刪除=newJButton(”刪除”);學號。addActionListener(this);刪除.addActionListener(this);姓名=newJTextField(10);姓名。setEditable(false);專業(yè)=newJTextField(10);專業(yè)。setEditable(false);班級=newJTextField(10);班級.setEditable(false);誕生=newJTextField(10);誕生.setEditable(false);男=newJRadioButton(”男”,false);女=newJRadioButton("女",false);AGE);..。..。...。......部分源代碼省略.。...。.。....。.。..if(ok==JOptionPane.YES_OPTION){基本信息表。remove(number);try{outOne=newFileOutputStream(file);outTwo=newObjectOutputStream(outOne);outTwo.writeObject(基本信息表);outTwo.close();outOne。close();學號.setText(null);姓名.setText(null);專業(yè)。setText(null);班級.setText(null);誕生。setText(null);}catch(Exceptionee){System。out.println(ee);}}elseif(ok==JOptionPane.NO_OPTION){學號。setText(null);姓名。setText(null);專業(yè)。setText(null);班級。setText(null);誕生.setText(null);}}else{Stringwarning=”該學號不存在!";JOptionPane。showMessageDialog(this,warning,”警告”,JOptionPane.WARNING_MESSAGE);}

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論