?? modifysituation.java
字號(hào):
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 工號(hào),姓名,部門,工齡,工資;
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;
工號(hào)=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("重置");
工號(hào).addActionListener(this);
開始修改.addActionListener(this);
錄入修改.addActionListener(this);
重置.addActionListener(this);
Box box1=Box.createHorizontalBox();
box1.add(new JLabel("輸入要修改信息的工號(hào):",JLabel.CENTER));
box1.add(工號(hào));
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()==工號(hào))
{
String number="";
number=工號(hào).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);
Employee emp=(Employee)基本信息表.get(number);
姓名.setText(emp.getName());
部門.setText(emp.getdept());
工齡.setText(emp.getworktime());
工資.setText(emp.getworkdate());
if(emp.getSex().equals("男"))
{
男.setSelected(true);
}
else
{
女.setSelected(true);
}
}
else
{
錄入修改.setEnabled(false);
String warning="該工號(hào)不存在!";
JOptionPane.showMessageDialog(this,warning,"警告",JOptionPane.WARNING_MESSAGE);
工號(hào).setText(null);
姓名.setText(null);
部門.setText(null);
工齡.setText(null);
工資.setText(null);
}
}
else
{
錄入修改.setEnabled(false);
String warning="必須要輸入工號(hào)!";
JOptionPane.showMessageDialog(this,warning,"警告",JOptionPane.WARNING_MESSAGE);
工號(hào).setText(null);
姓名.setText(null);
部門.setText(null);
工齡.setText(null);
工資.setText(null);
}
}
else if(e.getSource()==錄入修改)
{
String number="";
number=工號(hào).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,"確認(rèn)",JOptionPane.YES_NO_OPTION,
JOptionPane.INFORMATION_MESSAGE);
if(ok==JOptionPane.YES_OPTION)
{
String name=姓名.getText();
String dept=部門.getText();
String worktime=工齡.getText();
String workdate=工資.getText();
String sex=null;
if(男.isSelected())
{
sex=男.getText();
}
else
{
sex=女.getText();
}
Employee 員工=new Employee();
員工.setNumber(number);
員工.setName(name);
員工.setdept(dept);
員工.setworktime(worktime);
員工.setworkdate(workdate);
員工.setSex(sex);
try
{
outOne=new FileOutputStream(file);
outTwo=new ObjectOutputStream(outOne);
基本信息表.put(number,員工);
outTwo.writeObject(基本信息表);
outTwo.close();
outOne.close();
工號(hào).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="該工號(hào)沒有基本信息,不能修改!";
JOptionPane.showMessageDialog(this,warning,"警告",JOptionPane.WARNING_MESSAGE);
錄入修改.setEnabled(false);
}
}
else
{
String warning="必須要輸入工號(hào)!";
JOptionPane.showMessageDialog(this,warning,"警告",JOptionPane.WARNING_MESSAGE);
錄入修改.setEnabled(false);
}
}
if(e.getSource()==重置)
{
工號(hào).setText(null);
姓名.setText(null);
部門.setText(null);
工齡.setText(null);
工資.setText(null);
}
}
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -