📄 delete.java~3~
字号:
////////////删除界面/////////package student;import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.io.*;import java.util.*;public class Delete extends JPanel implements ActionListener{ Hashtable 基本信息表=null; //存放学生基本信息的散列表 JTextField 学号,姓名,专业,年级,出生; //显示学生的基本信息的文本条 JRadioButton 男,女; JButton 删除; ButtonGroup group=null; FileInputStream inOne=null; ObjectInputStream inTwo=null; FileOutputStream outOne=null; ObjectOutputStream outTwo=null; File file=null;//存放散列表的文件。 public 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); 出生.setEditable(false); 男=new JRadioButton("男",false); 女=new JRadioButton("女",false); group=new ButtonGroup(); group.add(男); group.add(女); Box box1=Box.createHorizontalBox(); //创建6个水平box容器,从左向右排列组件 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(); //创建一个垂直box容器,在其中自上向下排列 //6个水平box容器。 boxH.add(box1); boxH.add(box2); boxH.add(box3); boxH.add(box4); boxH.add(box5); boxH.add(box6); boxH.add(Box.createVerticalGlue());//使得垂直的box容器内的组件靠上对齐 JPanel pCenter=new JPanel();; pCenter.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); 基本信息表=(Hashtable)inTwo.readObject();//首先到文件中读取Hashtable对象。 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("男")) { 男.setSelected(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(outTwo); 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); 出生.setText(null); } } else {//如果不存在该生的基本信息,弹出警告对话框。 String warning="该生学号不存在!"; JOptionPane.showMessageDialog(this,warning,"警告",JOptionPane.WARNING_MESSAGE); } } else { //如果学号输入框内容为空,弹出警告对话框。 String warning="必须输入学号!"; JOptionPane.showMessageDialog(this,warning,"警告",JOptionPane.WARNING_MESSAGE); } } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -