```package 综合大作业01;
import java.io.*;
import java.awt.event.*;
import javax.swing.*;
public class Transform extends JPanel implements ActionListener{
File f=null;
String file=null;
RandomAccessFile out;
Box baseBox,box1,box2;
JTextField 员工号,姓名,部门,联系方式;
JButton button;
FileInputStream inOne;
ObjectInputStream inTwo;
FileOutputStream outOne;
ObjectOutputStream outTwo;
Transform(File f){
this.f=f;
员工号=new JTextField(15);
姓名=new JTextField(15);
部门=new JTextField(15);
联系方式=new JTextField(15);
button=new JButton("开始修改");
button.addActionListener(this);
box1=Box.createVerticalBox();
box1.add(new JLabel("输入要修改的员工号"));
box1.add(Box.createVerticalStrut(10));
box1.add(new JLabel("输入修改后的姓名"));
box1.add(Box.createVerticalStrut(10));
box1.add(new JLabel("输入修改后的部门"));
box1.add(Box.createVerticalStrut(10));
box1.add(new JLabel("输入修改后的联系方式"));
box1.add(Box.createVerticalStrut(10));
box1.add(new JLabel("修改"));
box2=Box.createVerticalBox();
box2.add(员工号);
box2.add(Box.createVerticalStrut(10));
box2.add(姓名);
box2.add(Box.createVerticalStrut(10));
box2.add(部门);
box2.add(Box.createVerticalStrut(10));
box2.add(联系方式);
box2.add(Box.createVerticalStrut(10));
box2.add(button);
baseBox=Box.createHorizontalBox();
baseBox.add(box1);
baseBox.add(Box.createHorizontalStrut(12));
baseBox.add(box2);
add(baseBox);
}
public void actionPerformed(ActionEvent e) {
if(e.getSource()==button||e.getSource()==员工号)
{
String number=" ";
number=员工号.getText();
if(number.length()>0)
{
try {
inOne=new FileInputStream(file);
inTwo=new ObjectInputStream(inOne);
inOne.close();
inTwo.close();
}
catch(Exception ee) {}
}
}
}
}
说说我看到的问题:
1. 中文参数,没见过,第一次
2. 为按钮注册了监听器为啥里面还做了一堆判断?
3. 监听器里面的方法着实看不懂,字符串初始化用" "?
4. 两个inputstream不知道做了啥,然后就close?
5. 关闭流的操作也是可以的,不用finally?
暂时发现这么多,请下一位补充.
按照逻辑应该是要通过输入流读取员工信息文件,然后搜索到要修改的员工数据,在将其修改,最后在通过输出流进行输出,而不是单纯的new一个输入流跟输出流就完事了