JAVA學(xué)生班級(jí)管理系統(tǒng)源代碼截圖_第1頁(yè)
JAVA學(xué)生班級(jí)管理系統(tǒng)源代碼截圖_第2頁(yè)
JAVA學(xué)生班級(jí)管理系統(tǒng)源代碼截圖_第3頁(yè)
JAVA學(xué)生班級(jí)管理系統(tǒng)源代碼截圖_第4頁(yè)
JAVA學(xué)生班級(jí)管理系統(tǒng)源代碼截圖_第5頁(yè)
已閱讀5頁(yè),還剩28頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、一、需求分析1 .實(shí)現(xiàn)對(duì)班級(jí)和學(xué)生基本資料的錄入,包括學(xué)生的學(xué)號(hào),姓名,性別,所學(xué)專(zhuān)業(yè),家庭住址以及出生年月等。2 .能夠?qū)崿F(xiàn)對(duì)班級(jí)學(xué)生基本資料的修改。3 .根據(jù)學(xué)號(hào)對(duì)學(xué)生資料進(jìn)行查詢(xún)。4 .能夠刪除學(xué)生的資料。二、概要設(shè)計(jì)根據(jù)本次課程設(shè)計(jì)的目的和以上的問(wèn)題描述,把該班級(jí)管理系統(tǒng)分為五個(gè)模塊:錄入模塊(StudentSituation )、查詢(xún)模塊(Inques )、刪 除模塊(Delete )和修 改模塊(ModifySituation)。各個(gè)模塊包括學(xué)生學(xué)號(hào),姓名,所學(xué)專(zhuān)業(yè),家庭住址,出生日期等信息的操作。系統(tǒng)的結(jié)構(gòu)圖如圖一:圖1系統(tǒng)結(jié)構(gòu)圖三、總體設(shè)計(jì)本班級(jí)管理系統(tǒng)共有 6個(gè)java源文件

2、。類(lèi)之間的主要關(guān)系如下圖所示:圖2類(lèi)之間的主要關(guān)系各主類(lèi)的主要作用如下:I.StudentManager.java該java文件的類(lèi)負(fù)責(zé)創(chuàng)建班級(jí)學(xué)生管理系統(tǒng)的主窗口,該類(lèi)包含main方法,程序從該類(lèi)開(kāi)始執(zhí)行。2.StudentStituation.java該文件的類(lèi)負(fù)責(zé)創(chuàng)建班級(jí)學(xué)生管理系統(tǒng)的學(xué)生信息錄入界面。3.ModifySituation.java該文件的類(lèi)負(fù)責(zé)創(chuàng)建班級(jí)學(xué)生管理系統(tǒng)的學(xué)生基本信息修改界面。4.Inquest.java該文件的類(lèi)負(fù)責(zé)創(chuàng)建班級(jí)學(xué)生管理系統(tǒng)的學(xué)生基本信息查詢(xún)界面。5.Delete.java該文件的類(lèi)負(fù)責(zé)創(chuàng)建班級(jí)學(xué)生管理系統(tǒng)的學(xué)生信息刪除界面。6.Student.j

3、ava負(fù)責(zé)創(chuàng)建存放學(xué)生信息的對(duì)象。四、詳細(xì)設(shè)計(jì)1 .管理系統(tǒng)主窗口1.1 成員變量表1-1主要成員變量成員變量描述變量類(lèi)型變量名稱(chēng)基本信息錄入StudentSituation基本信息錄入基本信息修改ModifySituation基本信息修改基本信息查詢(xún)Inquest基本信息查詢(xún)基本信息刪除Delete基本信息刪除菜單選項(xiàng)JMenultem錄入,修改,查詢(xún),刪除存基本信息的散列表Hashtable基本信息存放散列表的文件Filefile1.2方法表1-2主要方法名稱(chēng)功能備注StudentManager actionPerformed main創(chuàng)建程序主窗口處理ActionEvent事件程序開(kāi)始運(yùn)

4、行構(gòu)造方法 接口方法1.3界面截圖:302.基本信息錄入2.1 成員變量描述變量類(lèi)型變量名稱(chēng)表2-1主要成員變量屬性存放“學(xué)生”對(duì)象的散列表 輸入學(xué)生基本信息的文本 存放學(xué)生信息的對(duì)象HashtableJTextFieldStudent基本信息表學(xué)號(hào),姓名,所學(xué)專(zhuān)業(yè),家庭住址,出生學(xué)生2.2方法表2-2主要方法名稱(chēng)功能備注StudentSituation actionPerformed創(chuàng)建學(xué)生信息錄入界面處理ActionEvent 事件構(gòu)造方法 接口方法2.3錄入界面截圖:3 .基本信息查詢(xún)3.1 成員變量表3-1主要成員變量屬性描述變量類(lèi)型變量名稱(chēng)存放“學(xué)生”對(duì)象的散表 顯示學(xué)生基本信息的文

5、本HashtableJTextField基本信息表學(xué)號(hào),姓名,所學(xué)專(zhuān)業(yè),家庭住 址,出生3.2 方法表3-2主要方法名稱(chēng)功能備注Inquest actionPerformed創(chuàng)建查詢(xún)界囿處理ActionEvent 事件構(gòu)造方法 接口方法3.3 查詢(xún)截圖:查詢(xún)對(duì)話(huà)框喻人要查詢(xún)的學(xué)號(hào):2011 070111 03查詢(xún)姓名:丁少亭性別:男。女所學(xué)專(zhuān)業(yè):信息與計(jì)算科學(xué)蘇庭住址:山東濟(jì)南出生日期:1991.1 0一20警告小讀學(xué)號(hào)不存在!確定4 .基本信息修改4.1 成員變量表4-1主要成員變量描述變量類(lèi)型變量名稱(chēng)存放“學(xué)生”對(duì)象的散列表 輸入學(xué)生基本信息的文本條HashtabelJTextField基

6、本信息表學(xué)號(hào),姓名,所學(xué)專(zhuān)業(yè),家庭住址,出生4.2 方法表4-2主要方法名稱(chēng)功能備注ModifySituation actionPerform創(chuàng)建學(xué)生信息修改界血處理ActionEvent 事件構(gòu)造方法 接口方法4.3修改界面截圖:5 .基本信息刪除5.1 成員變量表5-1主要成員變量描述變量類(lèi)型變量名稱(chēng)存放“學(xué)生”對(duì)象的散列表 顯示學(xué)生基本信息的文本條HashtableJTextField基本信息表學(xué)號(hào),姓名,所學(xué)專(zhuān)業(yè),家庭住址,出生5.2方法表5-2主要方法名稱(chēng)功能備注Delete actionPerformed創(chuàng)建學(xué)生信息刪除界面處理 ActionEvent構(gòu)造方法 接口方法5.3刪除界

7、面截圖6 .學(xué)生對(duì)象6.1成員變量表6-1主要成員變量描述變量類(lèi)型變量名稱(chēng)學(xué)號(hào)StringNumber姓名StringName所學(xué)專(zhuān)業(yè)StringDiscipling家庭住址StringGrade出生StringBorth性別StringSex6.2方法表6-2主要方法名稱(chēng)功能Setnumber設(shè)置學(xué)號(hào)Setnumber獲取學(xué)號(hào)Setname設(shè)置姓名Setname獲取姓名setDisciping設(shè)置所學(xué)專(zhuān)業(yè)setDisciping獲取所學(xué)專(zhuān)業(yè)setGrade設(shè)置家庭住址setGrade獲取家庭住址setBorth設(shè)置出生setBorth獲取出生setSex設(shè)置性別setSex制性別五、總結(jié)與展

8、望課程設(shè)計(jì)是培養(yǎng)學(xué)生綜合運(yùn)用所學(xué)知識(shí),發(fā)現(xiàn),提出,分析和解決實(shí)際問(wèn)題,鍛煉實(shí)踐能力的重要環(huán)節(jié),是對(duì)學(xué)生實(shí)際工作能力的具體訓(xùn)練和考察過(guò)程.本次課程設(shè)計(jì)雖然很辛苦,實(shí)在是受益匪淺。本來(lái)這門(mén)課的知識(shí)學(xué)的就不夠扎實(shí),本次課程設(shè)計(jì),在設(shè)計(jì)過(guò)程中碰到了很多問(wèn)題,剛開(kāi)始要設(shè)計(jì)的時(shí)候,還真不知道從哪里下手但最終在圖書(shū)、同學(xué)和老師的幫助 下都得到了解決,讓我學(xué)會(huì)了好多書(shū)本上沒(méi)有的東西,通過(guò)本次課程設(shè)計(jì)我也能將課本上的知識(shí)融會(huì)貫通,起到了很好的輔助學(xué)習(xí)的效果,但是我發(fā)現(xiàn)我學(xué)到的知識(shí)比整整一個(gè)學(xué)期學(xué)到的都多。理論和實(shí)踐的相結(jié)合是學(xué)習(xí)最有效的方法。在設(shè)計(jì)的過(guò)程中發(fā)現(xiàn)了自己的不足之處,對(duì)以前所學(xué)過(guò)的知識(shí)理解得不夠深刻,

9、掌握得不夠牢固,通過(guò)這次課程設(shè)計(jì)之后,一定把以前所學(xué)過(guò)的知識(shí)重新溫故。通過(guò)這次課程設(shè)計(jì)使我懂得了理論與實(shí)際相結(jié)合是很重要 的,只有理論知識(shí)是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識(shí)與實(shí)踐相結(jié)合起來(lái),從理論中得出結(jié)論,才能真正為社會(huì)服務(wù),從而提高自己的實(shí)際動(dòng)手能力和獨(dú)立思考的能力。不過(guò),在用Java開(kāi)發(fā)類(lèi)似的軟件時(shí), 發(fā)現(xiàn)在圖形界面的設(shè)計(jì)方面遠(yuǎn)沒(méi)有用VB VF等開(kāi)發(fā)工具簡(jiǎn)單。參考文獻(xiàn):附錄:1. 主界面代碼 StudentManager.java import java.awt.*;import java.awt.event.*; import javax.swing.*; import java.io

10、.*;import java.util.Hashtable;public class StudentManager extends JFrame implements StudentSituation基本信息錄入=null;ModifySituation基本信息修改=null;Inquest基本信息查詢(xún)=null;DeleteJMenuBar bar;JMenu fileMenu;基本信息刪除=null;JMenuItem 錄入 , 修改 , 查詢(xún) , 刪除 , 退出ActionListenerContainer con=null;Hashtable 基本信息=null;File file=n

11、ull;CardLayout card=null;JLabel label;JPanel pCenter;public StudentManager()setTitle(" 歡迎進(jìn)入班級(jí)管理系統(tǒng)");錄入=new JMenuItem("錄入學(xué)生基本信息");修改=new JMenuItem("修改學(xué)生基本信息");查詢(xún)=new JMenuItem("查詢(xún)學(xué)生基本信息");刪除=new JMenuItem("刪除學(xué)生基本信息");退出 =new JMenuItem(" 退出本系統(tǒng)&quo

12、t;);退出 .addActionListener(new ActionListener()public void actionPerformed(ActionEvent event)System.exit(0););bar=new JMenuBar();fileMenu=new JMenu(" 菜單選項(xiàng)");fileMenu.add(錄入);fileMenu.addSeparator();fileMenu.add(修改);fileMenu.addSeparator();fileMenu.add(查詢(xún));fileMenu.addSeparator();fileMenu.ad

13、d(刪除);fileMenu.addSeparator();fileMenu.addSeparator();fileMenu.add( 退出 );bar.add(fileMenu);setJMenuBar(bar);label=new JLabel(" 歡迎進(jìn)入班級(jí)管理系統(tǒng)!",label.CENTER);label.setFont(new Font(" 隸書(shū) ",Font.BOLD,30);label.setForeground(Color.blue);基本信息=new Hashtable();錄入.addActionListener(this);修改

14、.addActionListener(this);查詢(xún).addActionListener(this);刪除.addActionListener(this);card=new CardLayout();con=getContentPane();pCenter=new JPanel();pCenter.setLayout(card);file=new File(" 學(xué)生基本信息.txt");if(!file.exists()tryFileOutputStream out=new FileOutputStream(file);ObjectOutputStreamobjectOu

15、t=newObjectOutputStream(out);objectOut.writeObject(基本信息);objectOut.close();out.close();catch(IOException e)基本信息錄入=newStudentSituation(file);基本信息修改=new ModifySituation(file);基本信息查詢(xún)=new Inquest(this,file);基本信息刪除=new Delete(file);pCenter.add(" 歡迎語(yǔ)界面",label);pCenter.add("錄入界面",基本信息錄入

16、);pCenter.add("修改界面",基本信息修改);pCenter.add("刪除界面",基本信息刪除);con.add(pCenter,BorderLayout.CENTER);con.validate();addWindowListener(new WindowAdapter() public void windowClosing(WindowEvent e)System.exit(0);); setVisible(true);setBounds(100,50,420,380); validate();public void actionPer

17、formed(ActionEvent e)if(e.getSource()= 錄入 ) card.show(pCenter," 錄入界面"); else if(e.getSource()= 修改 ) card.show(pCenter," 修改界面"); else if(e.getSource()= 查詢(xún) ) 基本信息查詢(xún).setVisible(true); else if(e.getSource()= 刪除 ) card.show(pCenter," 刪除界面"); public static void main(String ar

18、gs) new StudentManager(); 2. 錄入代碼StudentSituation.java import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.io.*; import java.util.*;public class StudentSituation extends JPanel implements ActionListener Hashtable 基本信息表=null;JTextField 學(xué)號(hào) , 姓名 , 所學(xué)專(zhuān)業(yè), 家庭住址, 出生 ;JRadioButton

19、男 , 女 ;Student 學(xué)生 =null;ButtonGroup group=null;JButton 錄入 , 重置 ;FileInputStream inOne=null;ObjectInputStream inTwo=null;FileOutputStream outOne=null;ObjectOutputStream outTwo=null;File file=null;public StudentSituation(File file)this.file=file;學(xué)號(hào)=new JTextField(10);姓名=new JTextField(10);所學(xué)專(zhuān)業(yè)=new JTe

20、xtField(10);家庭住址=new JTextField(10);出生=new JTextField(10);group=new ButtonGroup();男 =new JRadioButton("男 ",true);女 =new JRadioButton("女 ",false);group.add(男 );group.add(女 );錄入=new JButton(" 錄入");重置=new JButton(" 重置");錄入.addActionListener(this);重置.addActionList

21、ener(this);Box box1=Box.createHorizontalBox();box1.add(new JLabel(" 學(xué)號(hào) :",JLabel.CENTER);box1.add( 學(xué)號(hào) );Box box2=Box.createHorizontalBox();box2.add(new JLabel(" 姓名 :",JLabel.CENTER);box2.add( 姓名 );Box box3=Box.createHorizontalBox();box3.add(new JLabel(" 性別 :",JLabel.CEN

22、TER);box3.add(男 );box3.add(女 );Box box4=Box.createHorizontalBox();box4.add(new JLabel(" 所學(xué)專(zhuān)業(yè):",JLabel.CENTER);box4.add( 所學(xué)專(zhuān)業(yè));Box box5=Box.createHorizontalBox();box5.add(new JLabel(" 家庭住址:",JLabel.CENTER);box5.add( 家庭住址);Box box6=Box.createHorizontalBox();box6.add(new JLabel(&quo

23、t; 出生 :",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 pCenter=new JPanel();pCenter.add(boxH);setLayout(new BorderLayout();add(pCenter,BorderLayout

24、.CENTER);JPanel pSouth=new JPanel();pSouth.add(錄入);pSouth.add(重置);add(pSouth,BorderLayout.SOUTH); validate();public void actionPerformed(ActionEvent e)if(e.getSource()= 錄入 ) String number="" number= 學(xué)號(hào) .getText();if(number.length()>0) try inOne=new FileInputStream(file);inTwo=new Object

25、InputStream(inOne);基本信息表=(Hashtable)inTwo.readObject();inOne.close();inTwo.close();catch(Exception ee)if(基本信息表.containsKey(number) String warning="該生基本信息已存在, 請(qǐng)到修改頁(yè)面修改!"JOptionPane.showMessageDialog(this,warning,警 告",JOptionPane.WARNING_MESSAGE); else String m=基本信息將被錄入!"intok=JOpt

26、ionPane.showConfirmDialog(this,m,"確認(rèn)",JOptionPane.YES_NO_OPTION,JOptionPane.INFORMATION_MESSAGE);if(ok=JOptionPane.YES_OPTION)String name=String discipling=String grade=String borth=姓名 .getText();所學(xué)專(zhuān)業(yè).getText();家庭住址.getText();出生 .getText();String sex=null;if(男 .isSelected()sex=男 .getText()

27、;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);基本信息表.put(number, 學(xué)生 );outTwo.writeObject(基本信息表);outTwo.close();ou

28、tOne.close();學(xué)號(hào).setText(null);姓名.setText(null);所學(xué)專(zhuān)業(yè).setText(null);家庭住址.setText(null);出生.setText(null);catch(Exception ee)System.out.println(ee);else String warning="必須要輸入學(xué)號(hào)!"JOptionPane.showMessageDialog(this,warning,"警 告",JOptionPane.WARNING_MESSAGE); if(e.getSource()= 重置 ) 學(xué)號(hào).s

29、etText(null);姓名.setText(null);所學(xué)專(zhuān)業(yè).setText(null);家庭住址.setText(null);出生.setText(null); 3. 查詢(xún)代碼Inquest.java import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.io.*; import java.util.*;public class Inquest extends JDialog implements ActionListenerHashtable 基本信息表=null;JTextFie

30、ld 學(xué)號(hào) , 姓名 , 所學(xué)專(zhuān)業(yè), 家庭住址, 出生 ;JRadioButton 男 , 女 ;JButton 查詢(xún) ;ButtonGroup group=null;FileInputStream inOne=null;ObjectInputStream inTwo=null;File file=null;public Inquest(JFrame f,File file) super(f," 查詢(xún)對(duì)話(huà)框",false);this.file=file;學(xué)號(hào)=new JTextField(10);查詢(xún)=new JButton(" 查詢(xún)");學(xué)號(hào).addA

31、ctionListener(this);查詢(xún).addActionListener(this);姓名=new JTextField(10);姓名.setEditable(false);所學(xué)專(zhuān)業(yè)=new JTextField(10);所學(xué)專(zhuān)業(yè).setEditable(false);家庭住址=new JTextField(10);家庭住址.setEditable(false);出生=new JTextField(10);出生.setEditable(false);男 =new JRadioButton(" 男 ",false);女 =new JRadioButton("

32、 女 ",false);group=new ButtonGroup();group.add(男 );group.add(女 );Box box1=Box.createHorizontalBox();box1.add(new JLabel(" 輸入要查詢(xún)的學(xué)號(hào):",JLabel.CENTER);box1.add(學(xué)號(hào));box1.add(查詢(xún));Box box2=Box.createHorizontalBox();box2.add(new JLabel(" 姓名 :",JLabel.CENTER);box2.add( 姓名 );Box box3=

33、Box.createHorizontalBox();box3.add(new JLabel(" 性別 :",JLabel.CENTER);box3.add(男 );box3.add(女 );Box box4=Box.createHorizontalBox();box4.add(new JLabel(" 所學(xué)專(zhuān)業(yè):",JLabel.CENTER);box4.add( 所學(xué)專(zhuān)業(yè));Box box5=Box.createHorizontalBox();box5.add(new JLabel(" 家庭住址:",JLabel.CENTER);b

34、ox5.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 pCenter=new JPanel

35、();pCenter.add(boxH);Container con=getContentPane();con.add(pCenter,BorderLayout.CENTER);con.validate();setVisible(false);setBounds(100,200,360,270);addWindowListener(new WindowAdapter() public void windowClosing(WindowEvent e)setVisible(false););public void actionPerformed(ActionEvent e)姓名.setText(

36、null);所學(xué)專(zhuān)業(yè).setText(null);家庭住址.setText(null);出生.setText(null);if(e.getSource()= 查詢(xún) |e.getSource()= 學(xué)號(hào) )String number=""number= 學(xué)號(hào) .getText();if(number.length()>0)try inOne=new FileInputStream(file);inTwo=new ObjectInputStream(inOne);基本信息表=(Hashtable)inTwo.readObject();inOne.close();inTwo

37、.close();catch(Exception ee)if(基本信息表.containsKey(number)Student stu=(Student)基本信息表.get(number);姓名.setText(stu.getName();所學(xué)專(zhuān)業(yè).setText(stu.getDisciping();家庭住址.setText(stu.getGrade();出生.setText(stu.getBorth();if(stu.getSex().equals("男 ")男 .setSelected(true);else 女 .setSelected(true);elseStrin

38、g warning="該學(xué)號(hào)不存在!"JOptionPane.showMessageDialog(this,warning,"警 告",JOptionPane.WARNING_MESSAGE); else String warning="必須要輸入學(xué)號(hào)!"JOptionPane.showMessageDialog(this,warning,"警 告",JOptionPane.WARNING_MESSAGE); 4. 修改代碼ModifySituation.javaimport java.awt.*;import j

39、ava.awt.event.*;import javax.swing.*;import java.io.*;import java.util.*;public class ModifySituation extends JPanel implements ActionListenerHashtable 基本信息表=null;JTextField 學(xué)號(hào) , 姓名 , 所學(xué)專(zhuān)業(yè), 家庭住址, 出生 ;JRadioButton 男 , 女 ;ButtonGroup group=null;JButton 開(kāi)始修改, 錄入修改, 重置 ;FileInputStream inOne=null;Object

40、InputStream inTwo=null;FileOutputStream outOne=null;ObjectOutputStream outTwo=null;File file=null;public ModifySituation(File file)this.file=file;學(xué)號(hào)=new JTextField(10);姓名=new JTextField(10);所學(xué)專(zhuān)業(yè)=new JTextField(10);家庭住址=new JTextField(10);出生=new JTextField(10);group=new ButtonGroup();男 =new JRadioBut

41、ton(" 男 ",true);女 =new JRadioButton(" 女 ",false);group.add(男 );group.add(女 );開(kāi)始修改=new JButton(" 開(kāi)始修改");錄入修改=new JButton(" 錄入修改");錄入修改.setEnabled(false);重置 =new JButton(" 重置 ");學(xué)號(hào).addActionListener(this);開(kāi)始修改.addActionListener(this);錄入修改.addActionList

42、ener(this);重置.addActionListener(this);Box box1=Box.createHorizontalBox();box1.add(new JLabel(" 輸入要修改信息的學(xué)號(hào):",JLabel.CENTER);box1.add( 學(xué)號(hào) );box1.add( 開(kāi)始修改);Box box2=Box.createHorizontalBox();box2.add(new JLabel("( 新 ) 姓名 :",JLabel.CENTER);box2.add( 姓名 );Box box3=Box.createHorizonta

43、lBox();box3.add(new JLabel("( 新 ) 性別 :",JLabel.CENTER);box3.add(男 );box3.add(女 );Box box4=Box.createHorizontalBox();box4.add(new JLabel("( 新 ) 所學(xué)專(zhuān)業(yè):",JLabel.CENTER);box4.add( 所學(xué)專(zhuān)業(yè));Box box5=Box.createHorizontalBox();box5.add(new JLabel("( 新 ) 家庭住址:",JLabel.CENTER);box5.

44、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 pCenter=new JPane

45、l();pCenter.add(boxH);setLayout(new BorderLayout();add(pCenter,BorderLayout.CENTER);JPanel pSouth=new JPanel();pSouth.add( 錄入修改);pSouth.add( 重置 );add(pSouth,BorderLayout.SOUTH);validate();public void actionPerformed(ActionEvent e)if(e.getSource()= 開(kāi)始修改|e.getSource()= 學(xué)號(hào) )String number=""nu

46、mber= 學(xué)號(hào) .getText();if(number.length()>0)try inOne=new FileInputStream(file);inTwo=new ObjectInputStream(inOne);基本信息表=(Hashtable)inTwo.readObject();inOne.close();inTwo.close();catch(Exception ee)if(基本信息表.containsKey(number)錄入修改.setEnabled(true);Student stu=(Student)基本信息表.get(number);姓名.setText(st

47、u.getName();所學(xué)專(zhuān)業(yè).setText(stu.getDisciping();家庭住址.setText(stu.getGrade();出生.setText(stu.getBorth();if(stu.getSex().equals("男 ")男 .setSelected(true);else女 .setSelected(true);else錄入修改.setEnabled(false);String warning="該學(xué)號(hào)不存在!"JOptionPane.showMessageDialog(this,warning,"警 告"

48、;,JOptionPane.WARNING_MESSAGE); 學(xué)號(hào).setText(null);姓名.setText(null);所學(xué)專(zhuān)業(yè).setText(null);家庭住址.setText(null);出生.setText(null);else錄入修改.setEnabled(false);String warning="必須要輸入學(xué)號(hào)!"JOptionPane.showMessageDialog(this,warning,"警 告",JOptionPane.WARNING_MESSAGE); 學(xué)號(hào).setText(null);姓名.setText(

49、null);所學(xué)專(zhuān)業(yè).setText(null);家庭住址.setText(null);出生.setText(null);else if(e.getSource()= 錄入修改)String number=""number= 學(xué)號(hào) .getText();if(number.length()>0)try inOne=new FileInputStream(file);inTwo=new ObjectInputStream(inOne);基本信息表=(Hashtable)inTwo.readObject();inOne.close();inTwo.close();catc

50、h(Exception ee)if(基本信息表.containsKey(number)String question=" 該生基本信息已存在, 您想修改他( 她 ) 的基本信息嗎?"JOptionPane.showMessageDialog(this,question,"警告",JOptionPane.QUESTION_MESSAGE); String m=" 基本信息將被修改!"intok=JOptionPane.showConfirmDialog(this,m,"確認(rèn)",JOptionPane.YES_NO_O

51、PTION,JOptionPane.INFORMATION_MESSAGE);if(ok=JOptionPane.YES_OPTION)String name=String discipling=String grade=String borth=String sex=null;if(sex=else姓名 .getText();所學(xué)專(zhuān)業(yè).getText();家庭住址.getText();出生 .getText();男 .isSelected()男 .getText();sex=女 .getText();Student學(xué)生 =new Student();學(xué)生.setNumber(number);

52、學(xué)生.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é)生 );outTwo.writeObject(基本信息表);outTwo.close();outOne.close();學(xué)號(hào).setText(null);姓名.setText(null);所學(xué)專(zhuān)業(yè).setText(

53、null);家庭住址.setText(null);出生 .setText(null); catch(Exception ee) System.out.println(ee); 錄入修改.setEnabled(false); else if(ok=JOptionPane.NO_OPTION) 錄入修改.setEnabled(true); else String warning="該學(xué)號(hào)沒(méi)有基本信息, 不能修改!"JOptionPane.showMessageDialog(this,warning,"警 告",JOptionPane.WARNING_MESS

54、AGE); 錄入修改.setEnabled(false); else String warning="必須要輸入學(xué)號(hào)!"JOptionPane.showMessageDialog(this,warning,"警 告",JOptionPane.WARNING_MESSAGE); 錄入修改.setEnabled(false); if(e.getSource()= 重置 ) 學(xué)號(hào).setText(null);姓名.setText(null);所學(xué)專(zhuān)業(yè).setText(null);家庭住址.setText(null);出生.setText(null); 5. 刪除代碼Delete.java import java.awt.*; import java.awt.event.*;import javax.swing.*;import java.io.*;import java.util.*;public class Delete extends JPanel implements ActionListenerHashtable 基本信息表=null;JTextField 學(xué)號(hào) , 姓名 , 所學(xué)專(zhuān)業(yè), 家庭住址, 出生 ;JRadioButton 男

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論