《Java版学籍管理系统(17页).doc》由会员分享,可在线阅读,更多相关《Java版学籍管理系统(17页).doc(17页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-Java版学籍管理系统-第 17 页package 学籍管理系统; * To change this template, choose Tools | Templates * and open the template in the editor. * author Administratorimport java.awt.*;import java.awt.event.*;import javax.swing.*;import java.io.*;import java.util.*;public class Delete extends JPanel implements ActionL
2、istenerprivate static final long serialVersionUID = 1L;Hashtable 基本信息表=null; JTextField 学号,姓名,专业,年级,出生; JRadioButton 男,女; JButton 删除; ButtonGroup group=null; FileInputStream inOne=null; ObjectInputStream inTwo=null; FileOutputStream outOne=null; ObjectOutputStream outTwo=null; File file=null; public
3、 Delete(File file) this.file=file; 学号=new JTextField(10); 删除=new JButton(删除); 学号.addActionListener(this); 删除.addActionListener(this); 姓名=new JTextField(10); 姓名.setEditable(false); 专业=new JTextField(10); 专业.setEditable(false); 年级=new JTextField(10); 年级.setEditable(false); 出生=new JTextField(10); 出生.se
4、tEditable(false); 男=new JRadioButton(男,false); 女=new JRadioButton(女,false); group=new ButtonGroup(); group.add(男); group.add(女); Box box1=Box.createHorizontalBox(); box1.add(new JLabel(输入要删除的学号:,JLabel.CENTER); box1.add(学号); box1.add(删除); Box box2=Box.createHorizontalBox(); box2.add(new JLabel(姓名:,J
5、Label.CENTER); box2.add(姓名); Box box3=Box.createHorizontalBox(); box3.add(new JLabel(性别:,JLabel.CENTER); box3.add(男); box3.add(女); Box box4=Box.createHorizontalBox(); box4.add(new JLabel(专业:,JLabel.CENTER); box4.add(专业); Box box5=Box.createHorizontalBox(); box5.add(new JLabel(年级:,JLabel.CENTER); box
6、5.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(); pCent
7、er.add(boxH); setLayout(new BorderLayout(); add(pCenter,BorderLayout.CENTER); validate(); public void actionPerformed(ActionEvent e) if(e.getSource()=删除|e.getSource()=学号) String number=; number=学号.getText(); if(number.length()0) try inOne=new FileInputStream(file); inTwo=new ObjectInputStream(inOne)
8、; 基本信息表=(Hashtable)inTwo.readObject(); inOne.close(); inTwo.close(); catch(Exception ee) if(基本信息表.containsKey(number) Student stu=(Student)基本信息表.get(number); 姓名.setText(stu.getName(); 专业.setText(stu.getDisciping(); 年级.setText(stu.getGrade(); 出生.setText(stu.getBorth(); if(stu.getSex().equals(男) 男.set
9、Selected(true); else 女.setSelected(true); String m=确定要删除该学号及全部信息吗?; int ok=JOptionPane.showConfirmDialog(this,m,确认,JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE); if(ok=JOptionPane.YES_OPTION) 基本信息表.remove(number); try outOne=new FileOutputStream(file); outTwo=new ObjectOutputStream(outOne
10、); outTwo.writeObject(基本信息表); outTwo.close(); outOne.close(); 学号.setText(null); 姓名.setText(null); 专业.setText(null); 年级.setText(null); 出生.setText(null); catch(Exception ee) System.out.println(ee); else if(ok=JOptionPane.NO_OPTION) 学号.setText(null); 姓名.setText(null); 专业.setText(null); 年级.setText(null)
11、; 出生.setText(null); else String warning=该学号不存在!; JOptionPane.showMessageDialog(this,warning,警告,JOptionPane.WARNING_MESSAGE); else String warning=必须要输入学号!; JOptionPane.showMessageDialog(this,warning,警告,JOptionPane.WARNING_MESSAGE);package 学籍管理系统; * To change this template, choose Tools | Templates *
12、and open the template in the editor. * author Administratorimport java.awt.*;import java.awt.event.*;import javax.swing.*;import java.io.*;import java.util.*;public class Inquest extends JDialog implements ActionListenerprivate static final long serialVersionUID = 1L;Hashtable 基本信息表=null; JTextField
13、 学号,姓名,专业,年级,出生; JRadioButton 男,女; JButton 查询; ButtonGroup group=null; FileInputStream inOne=null; ObjectInputStream inTwo=null; File file=null; public Inquest(JFrame f,File file) super(f,查询对话框,false); this.file=file; 学号=new JTextField(10); 查询=new JButton(查询); 学号.addActionListener(this); 查询.addActio
14、nListener(this); 姓名=new JTextField(10); 姓名.setEditable(false); 专业=new JTextField(10); 专业.setEditable(false); 年级=new JTextField(10); 年级.setEditable(false); 出生=new JTextField(10); 出生.setEditable(false); 男=new JRadioButton(男,false); 女=new JRadioButton(女,false); group=new ButtonGroup(); group.add(男); gr
15、oup.add(女); Box box1=Box.createHorizontalBox(); box1.add(new JLabel(输入要查询的学号:,JLabel.CENTER); box1.add(学号); box1.add(查询); Box box2=Box.createHorizontalBox(); box2.add(new JLabel(姓名:,JLabel.CENTER); box2.add(姓名); Box box3=Box.createHorizontalBox(); box3.add(new JLabel(性别:,JLabel.CENTER); box3.add(男);
16、 box3.add(女); Box box4=Box.createHorizontalBox(); box4.add(new JLabel(专业:,JLabel.CENTER); box4.add(专业); Box box5=Box.createHorizontalBox(); box5.add(new JLabel(年级:,JLabel.CENTER); box5.add(年级); Box box6=Box.createHorizontalBox(); box6.add(new JLabel(出生:,JLabel.CENTER); box6.add(出生); Box boxH=Box.cre
17、ateVerticalBox(); 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); Container con=getContentPane(); con.add(pCenter,BorderLayout.CENTER); con.validate(); setVisible(false)
18、; setBounds(100,200,360,270); addWindowListener(new WindowAdapter() public void windowClosing(WindowEvent e) setVisible(false); public void actionPerformed(ActionEvent e) 姓名.setText(null); 专业.setText(null); 年级.setText(null); 出生.setText(null); if(e.getSource()=查询|e.getSource()=学号) String number=; num
19、ber=学号.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) Student stu=(Student)基本信息表.get(number); 姓名.setText(stu.getName(); 专业.set
20、Text(stu.getDisciping(); 年级.setText(stu.getGrade(); 出生.setText(stu.getBorth(); if(stu.getSex().equals(男) 男.setSelected(true); else 女.setSelected(true); else String warning=该学号不存在!; JOptionPane.showMessageDialog(this,warning,警告,JOptionPane.WARNING_MESSAGE); else String warning=必须要输入学号!; JOptionPane.s
21、howMessageDialog(this,warning,警告,JOptionPane.WARNING_MESSAGE);package 学籍管理系统; * To change this template, choose Tools | Templates * and open the template in the editor. * author Administratorimport java.awt.*;import java.awt.event.*;import javax.swing.*;import java.io.*;import java.util.*;public cla
22、ss ModifySituation extends JPanel implements ActionListenerprivate static final long serialVersionUID = 1L;Hashtable 基本信息表=null; JTextField 学号,姓名,专业,年级,出生; JRadioButton 男,女; ButtonGroup group=null; JButton 开始修改,录入修改,重置; FileInputStream inOne=null; ObjectInputStream inTwo=null; FileOutputStream outOn
23、e=null; ObjectOutputStream outTwo=null; File file=null; public ModifySituation(File file) this.file=file; 学号=new JTextField(10); 姓名=new JTextField(10); 专业=new JTextField(10); 年级=new JTextField(10); 出生=new JTextField(10); group=new ButtonGroup(); 男=new JRadioButton(男,true); 女=new JRadioButton(女,false
24、); group.add(男); group.add(女); 开始修改=new JButton(开始修改); 录入修改=new JButton(录入修改); 录入修改.setEnabled(false); 重置=new JButton(重置); 学号.addActionListener(this); 开始修改.addActionListener(this); 录入修改.addActionListener(this); 重置.addActionListener(this); Box box1=Box.createHorizontalBox(); box1.add(new JLabel(输入要修改
25、信息的学号:,JLabel.CENTER); box1.add(学号); box1.add(开始修改); Box box2=Box.createHorizontalBox(); box2.add(new JLabel(新)姓名:,JLabel.CENTER); box2.add(姓名); Box box3=Box.createHorizontalBox(); box3.add(new JLabel(新)性别:,JLabel.CENTER); box3.add(男); box3.add(女); Box box4=Box.createHorizontalBox(); box4.add(new JL
26、abel(新)专业:,JLabel.CENTER); box4.add(专业); Box box5=Box.createHorizontalBox(); box5.add(new JLabel(新)年级:,JLabel.CENTER); box5.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(
27、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.CENTER); JPanel pSouth=new JPanel(); pSouth.add(录入修改); pSouth.add(重置); add(pSouth,BorderLayout.SOUTH); vali
28、date(); public void actionPerformed(ActionEvent e) if(e.getSource()=开始修改|e.getSource()=学号) String number=; number=学号.getText(); if(number.length()0) try inOne=new FileInputStream(file); inTwo=new ObjectInputStream(inOne); 基本信息表=(Hashtable)inTwo.readObject(); inOne.close(); inTwo.close(); catch(Excep
29、tion ee) if(基本信息表.containsKey(number) 录入修改.setEnabled(true); Student stu=(Student)基本信息表.get(number); 姓名.setText(stu.getName(); 专业.setText(stu.getDisciping(); 年级.setText(stu.getGrade(); 出生.setText(stu.getBorth(); if(stu.getSex().equals(男) 男.setSelected(true); else 女.setSelected(true); else 录入修改.setEn
30、abled(false); String warning=该学号不存在!; JOptionPane.showMessageDialog(this,warning,警告,JOptionPane.WARNING_MESSAGE); 学号.setText(null); 姓名.setText(null); 专业.setText(null); 年级.setText(null); 出生.setText(null); else 录入修改.setEnabled(false); String warning=必须要输入学号!; JOptionPane.showMessageDialog(this,warning
31、,警告,JOptionPane.WARNING_MESSAGE); 学号.setText(null); 姓名.setText(null); 专业.setText(null); 年级.setText(null); 出生.setText(null); else if(e.getSource()=录入修改) String number=; number=学号.getText(); if(number.length()0) try inOne=new FileInputStream(file); inTwo=new ObjectInputStream(inOne); 基本信息表=(Hashtable)
32、inTwo.readObject(); inOne.close(); inTwo.close(); catch(Exception ee) if(基本信息表.containsKey(number) String question=该生基本信息已存在,您想修改他(她)的基本信息吗?; JOptionPane.showMessageDialog(this,question,警告,JOptionPane.QUESTION_MESSAGE); String m=基本信息将被修改!; int ok=JOptionPane.showConfirmDialog(this,m,确认,JOptionPane.Y
33、ES_NO_OPTION, JOptionPane.INFORMATION_MESSAGE); if(ok=JOptionPane.YES_OPTION) String name=姓名.getText(); String discipling=专业.getText(); String grade=年级.getText(); String borth=出生.getText(); String sex=null; if(男.isSelected() sex=男.getText(); else sex=女.getText(); Student 学生=new Student(); 学生.setNumber(number); 学生.setName(name); 学生.setDiscipling(discipling); 学生.setGrade(grade); 学生.setBorth(borth); 学生.setSex(sex); try outOne=new FileOutputStream(file); outT
限制150内