📄 modifysituation.java
字号:
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 员工编号,员工名称,所在部门,联系方式,员工薪资,薪资等级;
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);
薪资等级=new JTextField(10);
开始修改=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(所在部门);
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);
Client cli=(Client)基本信息表.get(number);
员工名称.setText(cli.getName());
所在部门.setText(cli.getArea());
联系方式.setText(cli.getCall());
员工薪资.setText(cli.getMoney());
薪资等级.setText(cli.getMoneylevel());
}
else
{
录入修改.setEnabled(false);
String warning="该编号不存在!";
JOptionPane.showMessageDialog(this,warning,"警告",JOptionPane.WARNING_MESSAGE);
员工编号.setText(null);
员工名称.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);
薪资等级.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 area=所在部门.getText();
String call=联系方式.getText();
String money=员工薪资.getText();
String moneylevel=薪资等级.getText();
Client 员工=new Client();
员工.setNumber(number);
员工.setName(name);
员工.setArea(area);
员工.setCall(call);
员工.setMoney(money);
员工.setMoneylevel(moneylevel);
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);
薪资等级.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);
薪资等级.setText(null);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -