📄 modifysituation.java
字号:
/* * To change this template, choose Tools | Templates * and open the template in the editor. */package 学籍管理系统;/** * * @author Administrator */import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.io.*;import java.util.*;public class ModifySituation extends JPanel implements ActionListener{ Hashtable 基本信息表=null; JTextField 学号,姓名,专业,年级,出生; JRadioButton 男,女; ButtonGroup group=null; JButton 开始修改,录入修改,重置; FileInputStream inOne=null; ObjectInputStream inTwo=null; FileOutputStream outOne=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); 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("输入要修改信息的学号:",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 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.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.CENTER); JPanel pSouth=new JPanel(); pSouth.add(录入修改); pSouth.add(重置); add(pSouth,BorderLayout.SOUTH); 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); 基本信息表=(Hashtable)inTwo.readObject(); inOne.close(); inTwo.close(); } catch(Exception 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 { 录入修改.setEnabled(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,"警告",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)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.YES_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); outTwo=new ObjectOutputStream(outOne); 基本信息表.put(number,学生); outTwo.writeObject(基本信息表); outTwo.close(); outOne.close(); 学号.setText(null); 姓名.setText(null); 专业.setText(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="该学号没有基本信息,不能修改!"; JOptionPane.showMessageDialog(this,warning,"警告",JOptionPane.WARNING_MESSAGE); 录入修改.setEnabled(false); } } else { String warning="必须要输入学号!"; JOptionPane.showMessageDialog(this,warning,"警告",JOptionPane.WARNING_MESSAGE); 录入修改.setEnabled(false); } } if(e.getSource()==重置) { 学号.setText(null); 姓名.setText(null); 专业.setText(null); 年级.setText(null); 出生.setText(null); } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -