




版權(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 第15課《我們不亂扔》教學(xué)設(shè)計(jì)-2024-2025學(xué)年一年級(jí)道德與法治上冊(cè)統(tǒng)編版
- 展覽館裝修合同
- 2025年度建筑企業(yè)農(nóng)民工勞動(dòng)合同創(chuàng)新模式試點(diǎn)方案
- 2025年度五星級(jí)酒店與VIP客人個(gè)性化服務(wù)協(xié)議
- 2025年度房產(chǎn)贈(zèng)與與可持續(xù)發(fā)展合同
- 2025年度冷鏈物流貨運(yùn)損壞賠償協(xié)議書(shū)
- 二零二五年度人工智能教育平臺(tái)合作協(xié)議中的支付及費(fèi)用分?jǐn)偧?xì)則
- 2025年度帶寵物友好房屋出租協(xié)議電子版
- 2025年度廣告代理合同解除通知期限與費(fèi)用結(jié)算規(guī)范
- 2025年度報(bào)廢車(chē)買(mǎi)賣(mài)及報(bào)廢車(chē)輛拆解與環(huán)保設(shè)施投資合同
- 2022-2023年質(zhì)量員之市政質(zhì)量專(zhuān)業(yè)管理實(shí)務(wù)通關(guān)提分題庫(kù)及完整答案
- 四年級(jí)語(yǔ)文下冊(cè)第六單元【集體備課】(教材解讀+教學(xué)設(shè)計(jì))
- 云南礦產(chǎn)資源分布
- 2015-2022年青島酒店管理職業(yè)技術(shù)學(xué)院高職單招語(yǔ)文/數(shù)學(xué)/英語(yǔ)筆試參考題庫(kù)含答案解析
- 保險(xiǎn)第三方理賠調(diào)查服務(wù)方案
- 我愛(ài)運(yùn)動(dòng)手抄報(bào)電子小報(bào)模板(附A4線(xiàn)稿)可打印涂色
- GB/T 9113-2010整體鋼制管法蘭
- GB/T 32722-2016土壤質(zhì)量土壤樣品長(zhǎng)期和短期保存指南
- GB/T 2951.12-2008電纜和光纜絕緣和護(hù)套材料通用試驗(yàn)方法第12部分:通用試驗(yàn)方法-熱老化試驗(yàn)方法
- 2009數(shù)據(jù)結(jié)構(gòu)英文試卷A及答案
- FZ/T 51010-2014纖維級(jí)聚對(duì)苯二甲酸1,3-丙二醇酯切片(PTT)
評(píng)論
0/150
提交評(píng)論