2个回答
展开全部
你看看这个怎么样,一个员工管理系统
打不开是什么意思?你类名写的对吗--》Lei
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.io.*;
import java.util.*;
public class Lei
{
public static void main(String args[])
{
new ManagerWindow();
}
}
/////////////////////////////////////////////////////////////////////////////////////////
class Worker implements java.io.Serializable
{
String num,name,tel,ads;
public void setNum(String num)
{
this.num=num;
}
public String getNum()
{
return num;
}
public void setName(String name)
{
this.name=name;
}
public String getName()
{
return name;
}
public void setTel(String tel)
{
this.tel=tel;
}
public String getTel()
{
return tel;
}
public void setAds(String ads)
{
this.ads=ads;
}
public String getAds()
{
return ads;
}
}
///////////////////////////////////////////////////////////////////////////////////////
class ManagerWindow extends Frame implements ActionListener
{
InputWorker 基本信息录入=null;
Inquest 基本信息查找=null;
Button 查找,退出;
Hashtable 基本信息=null;
MenuBar bar;
Menu help;
MenuItem 帮助主题,关于;
File file=null;
public ManagerWindow()
{
setTitle("职工档案管理系统");
bar=new MenuBar();
help=new Menu(" 帮 助 ");
帮助主题=new MenuItem("帮助主题");
关于=new MenuItem(" 关 于 ");
help.add(帮助主题);
help.add(关于);
bar.add(help);
bar.setFont(new java.awt.Font("Serif",1,15));
setMenuBar(bar);
基本信息=new Hashtable();
//帮助主题.addActionListener(this);
//关于.addActionListener(this);
查找=new Button(" 查 找 ");
退出=new Button(" 退 出 ");
查找.addActionListener(this);
file=new File("基本信息.txt");
if(!file.exists())
{
try
{
FileOutputStream out=new FileOutputStream(file);
ObjectOutputStream objectOut=new ObjectOutputStream(out);
objectOut.writeObject(基本信息);
objectOut.close();
out.close();
}
catch(IOException e){}
}
基本信息录入=new InputWorker(file);
基本信息查找=new Inquest(this,file);
setLayout(new FlowLayout());
setBackground(Color.cyan);
add(基本信息录入);
add(查找);
add(退出);
退出.addActionListener(this);
查找.setFont(new java.awt.Font("Serif",1,50));
查找.setBackground(Color.green);
退出.setFont(new java.awt.Font("Serif",1,50));
退出.setBackground(Color.red);
addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
} );
setVisible(true);
setBounds(100,50,700,500);
validate();
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==退出)
System.exit(0);
基本信息查找.setVisible(true);
}
}
////////////////////////////////////////////////////////////////////////////////////////
class InputWorker extends Panel implements ActionListener
{
Hashtable 基本信息表=null;
TextField 工号,姓名,电话,地址;
Worker 职工=null;
Button 录入;
FileInputStream inOne=null;
ObjectInputStream inTwo=null;
FileOutputStream outOne=null;
ObjectOutputStream outTwo=null;
File file=null;
public InputWorker(File file)
{
this.file=file;
工号=new TextField(20);
姓名=new TextField(20);
电话=new TextField(20);
地址=new TextField(20);
录入=new Button(" 录 入 ");
录入.addActionListener(this);
setLayout(new GridLayout(0,2,0,20));
add(new Label("请输入工号:"));
add(工号);
工号.setBackground(Color.pink);
add(new Label("请输入姓名:"));
add(姓名);
姓名.setBackground(Color.pink);
add(new Label("请输入电话:"));
add(电话);
电话.setBackground(Color.pink);
add(new Label("请输入地址:"));
add(地址);
地址.setBackground(Color.pink);
add(new Label("请点击录入:"));
add(录入);
setFont(new java.awt.Font("Serif",3,30));
validate();
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==录入)
{
String num="";
num=工号.getText();
if(num.length()>0)
{
try
{
inOne=new FileInputStream(file);
inTwo=new ObjectInputStream(inOne);
基本信息表=(Hashtable)inTwo.readObject();
inOne.close();
inTwo.close();
}
catch(Exception ee) {}
if(基本信息表.containsKey(num))
{
String m="信息已存在,新的信息将覆盖原信息!";
int ok=JOptionPane.showConfirmDialog(this,m,"确认",
JOptionPane.YES_NO_OPTION,JOptionPane.INFORMATION_MESSAGE);
if(ok==JOptionPane.YES_OPTION)
{
record(num);
}
}
else
{
record(num);
}
}
else
{
String warning="必须要输入工号!";
JOptionPane.showMessageDialog(this,warning,"警告",
JOptionPane.WARNING_MESSAGE);
}
}
}
public void record(String num)
{
String name=姓名.getText();
String tel=电话.getText();
String ads=地址.getText();
职工=new Worker();
职工.setNum(num);
职工.setName(name);
职工.setTel(tel);
职工.setAds(ads);
try
{
outOne=new FileOutputStream(file);
outTwo=new ObjectOutputStream(outOne);
基本信息表.put(num,职工);
outTwo.writeObject(基本信息表);
outTwo.close();
outOne.close();
工号.setText(null);
姓名.setText(null);
电话.setText(null);
地址.setText(null);
}
catch(Exception ee) {}
}
}
////////////////////////////////////////////////////////////////////////////////////////
class Inquest extends Dialog implements ActionListener
{
TextField 工号,姓名,电话,地址;
String num;
Hashtable 基本信息表=null;
TextField 工号或姓名,要删除的工号;
Button 按工号查找,按姓名查找,查找全部,删除,按工号排序;
TextArea show=new TextArea(10,80);
FileInputStream inOne=null;
ObjectInputStream inTwo=null;
File file=null;
public Inquest(Frame f,File file)
{
super(f,"查找对话框",false);
setLayout(new GridLayout(2,1));
Panel p1=new Panel();
p1.setLayout(new FlowLayout(FlowLayout.CENTER,150,10));
this.file=file;
工号或姓名=new TextField(10);
要删除的工号=new TextField(10);
删除=new Button(" 删 除 ");
按工号查找=new Button("按工号查找");
按姓名查找=new Button("按姓名查找");
按工号查找.addActionListener(this);
按姓名查找.addActionListener(this);
按工号查找.addActionListener(this);
查找全部=new Button("查找全部");
按工号排序=new Button("按工号排序");
查找全部.addActionListener(this);
删除.addActionListener(this);
p1.add(new Label("输入要查找的工号或姓名:"));
p1.add(工号或姓名);
工号或姓名.setBackground(Color.cyan);
p1.add(按工号查找);
p1.add(按姓名查找);
p1.add(new Label("输入要删除的工号:"));
p1.add(要删除的工号);
要删除的工号.setBackground(Color.cyan);
p1.add(查找全部);
p1.add(删除);
p1.add(按工号排序);
p1.setBackground(Color.pink);
p1.setFont(new java.awt.Font("Serif",1,30));
Panel p2=new Panel();
p2.add(show);
p2.setBackground(Color.green);
show.setBackground(Color.cyan);
add(p1);
add(p2);
setFont(new java.awt.Font("Serif",1,20));
setBounds(100,100,900,600);
addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
setVisible(false);
}
} );
}
public void actionPerformed(ActionEvent e)
{
show.setText(null);
readHashtable();
if(e.getSource()==按工号查找)
{
String num="";
num=工号或姓名.getText();
if(num.length()>0)
{
if(基本信息表.containsKey(num))
{
Worker wor=(Worker)基本信息表.get(num);
show.setText("工号:"+wor.getNum()+"\t姓名:"+wor.getName()+"\t电话:"
+wor.getTel()+"\t 地址:"+wor.getAds()+"\n");
}
else
{
String warning="该工号不存在!";
JOptionPane.showMessageDialog(this,warning,"警告",
JOptionPane.WARNING_MESSAGE);
}
}
else
{
String warning="必须要输入工号!";
JOptionPane.showMessageDialog(this,warning,"警告",
JOptionPane.WARNING_MESSAGE);
}
}
else if(e.getSource()==按姓名查找)
{
String name="";
name=工号或姓名.getText();
if(name.length()>0)
{
if(基本信息表.containsKey(name))
{
Worker wor=(Worker)基本信息表.get(name);
show.setText("工号:"+wor.getNum()+"\t姓名:"+wor.getName()+"\t电话:"
+wor.getTel()+"\t 地址:"+wor.getAds()+"\n");
}
else
{
String warning="该姓名不存在!";
JOptionPane.showMessageDialog(this,warning,"警告",
JOptionPane.WARNING_MESSAGE);
}
}
else
{
String warning="必须要输入姓名!";
JOptionPane.showMessageDialog(this,warning,"警告",
JOptionPane.WARNING_MESSAGE);
}
}
if(e.getSource()==查找全部)
{
int i=1;
Enumeration em=基本信息表.elements();
while(em.hasMoreElements())
{
Worker wor=(Worker)em.nextElement();
show.append(i+"、"+"工号:"+wor.getNum()+"\t姓名:"+wor.getName()+"\t电话:"
+wor.getTel()+"\t 地址:"+wor.getAds()+"\n");
i++;
}
}
else if(e.getSource()==删除)
{
String num=要删除的工号.getText();
if(num.length()>0)
{
if(基本信息表.containsKey(num))
{
Worker wor=(Worker)基本信息表.get(num);
show.setText("工号:"+wor.getNum()+"\t姓名:"+wor.getName()+"\t电话:"
+wor.getTel()+"\t 地址:"+wor.getAds()+"\n");
}
try
{
inOne=new FileInputStream(file);
inTwo=new ObjectInputStream(inOne);
基本信息表=(Hashtable)inTwo.readObject();
inOne.close();
}
catch(Exception ee) {}
if(基本信息表.containsKey(num))
{
String m="你想要删除该职工的信息吗?";
int ok=JOptionPane.showConfirmDialog(this,m,"确定",
JOptionPane.YES_NO_OPTION,JOptionPane.INFORMATION_MESSAGE);
if(ok==JOptionPane.YES_OPTION)
{
要删除的工号.setText(null);
show.setText(null);
基本信息表.remove(num);
FileOutputStream outOne;
try
{
outOne=new FileOutputStream(file);
ObjectOutputStream outTwo=new ObjectOutputStream(outOne);
outTwo.writeObject(基本信息表);
outTwo.close();
}
catch(IOException e1) {}
}
}
else
{
String warning="没有该工号";
JOptionPane.showMessageDialog(this,warning,"警告",
JOptionPane.WARNING_MESSAGE);
}
}
else
{
String warning="必须要输入工号!";
JOptionPane.showMessageDialog(this,warning,"警告",
JOptionPane.WARNING_MESSAGE);
}
}
}
public void readHashtable()
{
try
{
inOne=new FileInputStream(file);
inTwo=new ObjectInputStream(inOne);
基本信息表=(Hashtable)inTwo.readObject();
inOne.close();
inTwo.close();
}
catch(Exception ee) {}
}
}
/////////////////////////////////////////////////////////////////////////////////
/*class Help extends Dialog
{
public Help(Frame f)
{
super(f,"帮助对话框",false);
TextArea txt=new TextArea(15,10);
txt.setForeground(Color.red);
txt.setFont(new java.awt.Font("Serif",1,30));
txt.setText("本系统最终解释权归\n新疆大学\n科学技术学院\n通信06-1班\n雷建平同学。\n翻版必究!");
setBounds(100,200,500,500);
add(txt);
addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
setVisible(false);
}
} );
}
}*/
打不开是什么意思?你类名写的对吗--》Lei
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.io.*;
import java.util.*;
public class Lei
{
public static void main(String args[])
{
new ManagerWindow();
}
}
/////////////////////////////////////////////////////////////////////////////////////////
class Worker implements java.io.Serializable
{
String num,name,tel,ads;
public void setNum(String num)
{
this.num=num;
}
public String getNum()
{
return num;
}
public void setName(String name)
{
this.name=name;
}
public String getName()
{
return name;
}
public void setTel(String tel)
{
this.tel=tel;
}
public String getTel()
{
return tel;
}
public void setAds(String ads)
{
this.ads=ads;
}
public String getAds()
{
return ads;
}
}
///////////////////////////////////////////////////////////////////////////////////////
class ManagerWindow extends Frame implements ActionListener
{
InputWorker 基本信息录入=null;
Inquest 基本信息查找=null;
Button 查找,退出;
Hashtable 基本信息=null;
MenuBar bar;
Menu help;
MenuItem 帮助主题,关于;
File file=null;
public ManagerWindow()
{
setTitle("职工档案管理系统");
bar=new MenuBar();
help=new Menu(" 帮 助 ");
帮助主题=new MenuItem("帮助主题");
关于=new MenuItem(" 关 于 ");
help.add(帮助主题);
help.add(关于);
bar.add(help);
bar.setFont(new java.awt.Font("Serif",1,15));
setMenuBar(bar);
基本信息=new Hashtable();
//帮助主题.addActionListener(this);
//关于.addActionListener(this);
查找=new Button(" 查 找 ");
退出=new Button(" 退 出 ");
查找.addActionListener(this);
file=new File("基本信息.txt");
if(!file.exists())
{
try
{
FileOutputStream out=new FileOutputStream(file);
ObjectOutputStream objectOut=new ObjectOutputStream(out);
objectOut.writeObject(基本信息);
objectOut.close();
out.close();
}
catch(IOException e){}
}
基本信息录入=new InputWorker(file);
基本信息查找=new Inquest(this,file);
setLayout(new FlowLayout());
setBackground(Color.cyan);
add(基本信息录入);
add(查找);
add(退出);
退出.addActionListener(this);
查找.setFont(new java.awt.Font("Serif",1,50));
查找.setBackground(Color.green);
退出.setFont(new java.awt.Font("Serif",1,50));
退出.setBackground(Color.red);
addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
} );
setVisible(true);
setBounds(100,50,700,500);
validate();
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==退出)
System.exit(0);
基本信息查找.setVisible(true);
}
}
////////////////////////////////////////////////////////////////////////////////////////
class InputWorker extends Panel implements ActionListener
{
Hashtable 基本信息表=null;
TextField 工号,姓名,电话,地址;
Worker 职工=null;
Button 录入;
FileInputStream inOne=null;
ObjectInputStream inTwo=null;
FileOutputStream outOne=null;
ObjectOutputStream outTwo=null;
File file=null;
public InputWorker(File file)
{
this.file=file;
工号=new TextField(20);
姓名=new TextField(20);
电话=new TextField(20);
地址=new TextField(20);
录入=new Button(" 录 入 ");
录入.addActionListener(this);
setLayout(new GridLayout(0,2,0,20));
add(new Label("请输入工号:"));
add(工号);
工号.setBackground(Color.pink);
add(new Label("请输入姓名:"));
add(姓名);
姓名.setBackground(Color.pink);
add(new Label("请输入电话:"));
add(电话);
电话.setBackground(Color.pink);
add(new Label("请输入地址:"));
add(地址);
地址.setBackground(Color.pink);
add(new Label("请点击录入:"));
add(录入);
setFont(new java.awt.Font("Serif",3,30));
validate();
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==录入)
{
String num="";
num=工号.getText();
if(num.length()>0)
{
try
{
inOne=new FileInputStream(file);
inTwo=new ObjectInputStream(inOne);
基本信息表=(Hashtable)inTwo.readObject();
inOne.close();
inTwo.close();
}
catch(Exception ee) {}
if(基本信息表.containsKey(num))
{
String m="信息已存在,新的信息将覆盖原信息!";
int ok=JOptionPane.showConfirmDialog(this,m,"确认",
JOptionPane.YES_NO_OPTION,JOptionPane.INFORMATION_MESSAGE);
if(ok==JOptionPane.YES_OPTION)
{
record(num);
}
}
else
{
record(num);
}
}
else
{
String warning="必须要输入工号!";
JOptionPane.showMessageDialog(this,warning,"警告",
JOptionPane.WARNING_MESSAGE);
}
}
}
public void record(String num)
{
String name=姓名.getText();
String tel=电话.getText();
String ads=地址.getText();
职工=new Worker();
职工.setNum(num);
职工.setName(name);
职工.setTel(tel);
职工.setAds(ads);
try
{
outOne=new FileOutputStream(file);
outTwo=new ObjectOutputStream(outOne);
基本信息表.put(num,职工);
outTwo.writeObject(基本信息表);
outTwo.close();
outOne.close();
工号.setText(null);
姓名.setText(null);
电话.setText(null);
地址.setText(null);
}
catch(Exception ee) {}
}
}
////////////////////////////////////////////////////////////////////////////////////////
class Inquest extends Dialog implements ActionListener
{
TextField 工号,姓名,电话,地址;
String num;
Hashtable 基本信息表=null;
TextField 工号或姓名,要删除的工号;
Button 按工号查找,按姓名查找,查找全部,删除,按工号排序;
TextArea show=new TextArea(10,80);
FileInputStream inOne=null;
ObjectInputStream inTwo=null;
File file=null;
public Inquest(Frame f,File file)
{
super(f,"查找对话框",false);
setLayout(new GridLayout(2,1));
Panel p1=new Panel();
p1.setLayout(new FlowLayout(FlowLayout.CENTER,150,10));
this.file=file;
工号或姓名=new TextField(10);
要删除的工号=new TextField(10);
删除=new Button(" 删 除 ");
按工号查找=new Button("按工号查找");
按姓名查找=new Button("按姓名查找");
按工号查找.addActionListener(this);
按姓名查找.addActionListener(this);
按工号查找.addActionListener(this);
查找全部=new Button("查找全部");
按工号排序=new Button("按工号排序");
查找全部.addActionListener(this);
删除.addActionListener(this);
p1.add(new Label("输入要查找的工号或姓名:"));
p1.add(工号或姓名);
工号或姓名.setBackground(Color.cyan);
p1.add(按工号查找);
p1.add(按姓名查找);
p1.add(new Label("输入要删除的工号:"));
p1.add(要删除的工号);
要删除的工号.setBackground(Color.cyan);
p1.add(查找全部);
p1.add(删除);
p1.add(按工号排序);
p1.setBackground(Color.pink);
p1.setFont(new java.awt.Font("Serif",1,30));
Panel p2=new Panel();
p2.add(show);
p2.setBackground(Color.green);
show.setBackground(Color.cyan);
add(p1);
add(p2);
setFont(new java.awt.Font("Serif",1,20));
setBounds(100,100,900,600);
addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
setVisible(false);
}
} );
}
public void actionPerformed(ActionEvent e)
{
show.setText(null);
readHashtable();
if(e.getSource()==按工号查找)
{
String num="";
num=工号或姓名.getText();
if(num.length()>0)
{
if(基本信息表.containsKey(num))
{
Worker wor=(Worker)基本信息表.get(num);
show.setText("工号:"+wor.getNum()+"\t姓名:"+wor.getName()+"\t电话:"
+wor.getTel()+"\t 地址:"+wor.getAds()+"\n");
}
else
{
String warning="该工号不存在!";
JOptionPane.showMessageDialog(this,warning,"警告",
JOptionPane.WARNING_MESSAGE);
}
}
else
{
String warning="必须要输入工号!";
JOptionPane.showMessageDialog(this,warning,"警告",
JOptionPane.WARNING_MESSAGE);
}
}
else if(e.getSource()==按姓名查找)
{
String name="";
name=工号或姓名.getText();
if(name.length()>0)
{
if(基本信息表.containsKey(name))
{
Worker wor=(Worker)基本信息表.get(name);
show.setText("工号:"+wor.getNum()+"\t姓名:"+wor.getName()+"\t电话:"
+wor.getTel()+"\t 地址:"+wor.getAds()+"\n");
}
else
{
String warning="该姓名不存在!";
JOptionPane.showMessageDialog(this,warning,"警告",
JOptionPane.WARNING_MESSAGE);
}
}
else
{
String warning="必须要输入姓名!";
JOptionPane.showMessageDialog(this,warning,"警告",
JOptionPane.WARNING_MESSAGE);
}
}
if(e.getSource()==查找全部)
{
int i=1;
Enumeration em=基本信息表.elements();
while(em.hasMoreElements())
{
Worker wor=(Worker)em.nextElement();
show.append(i+"、"+"工号:"+wor.getNum()+"\t姓名:"+wor.getName()+"\t电话:"
+wor.getTel()+"\t 地址:"+wor.getAds()+"\n");
i++;
}
}
else if(e.getSource()==删除)
{
String num=要删除的工号.getText();
if(num.length()>0)
{
if(基本信息表.containsKey(num))
{
Worker wor=(Worker)基本信息表.get(num);
show.setText("工号:"+wor.getNum()+"\t姓名:"+wor.getName()+"\t电话:"
+wor.getTel()+"\t 地址:"+wor.getAds()+"\n");
}
try
{
inOne=new FileInputStream(file);
inTwo=new ObjectInputStream(inOne);
基本信息表=(Hashtable)inTwo.readObject();
inOne.close();
}
catch(Exception ee) {}
if(基本信息表.containsKey(num))
{
String m="你想要删除该职工的信息吗?";
int ok=JOptionPane.showConfirmDialog(this,m,"确定",
JOptionPane.YES_NO_OPTION,JOptionPane.INFORMATION_MESSAGE);
if(ok==JOptionPane.YES_OPTION)
{
要删除的工号.setText(null);
show.setText(null);
基本信息表.remove(num);
FileOutputStream outOne;
try
{
outOne=new FileOutputStream(file);
ObjectOutputStream outTwo=new ObjectOutputStream(outOne);
outTwo.writeObject(基本信息表);
outTwo.close();
}
catch(IOException e1) {}
}
}
else
{
String warning="没有该工号";
JOptionPane.showMessageDialog(this,warning,"警告",
JOptionPane.WARNING_MESSAGE);
}
}
else
{
String warning="必须要输入工号!";
JOptionPane.showMessageDialog(this,warning,"警告",
JOptionPane.WARNING_MESSAGE);
}
}
}
public void readHashtable()
{
try
{
inOne=new FileInputStream(file);
inTwo=new ObjectInputStream(inOne);
基本信息表=(Hashtable)inTwo.readObject();
inOne.close();
inTwo.close();
}
catch(Exception ee) {}
}
}
/////////////////////////////////////////////////////////////////////////////////
/*class Help extends Dialog
{
public Help(Frame f)
{
super(f,"帮助对话框",false);
TextArea txt=new TextArea(15,10);
txt.setForeground(Color.red);
txt.setFont(new java.awt.Font("Serif",1,30));
txt.setText("本系统最终解释权归\n新疆大学\n科学技术学院\n通信06-1班\n雷建平同学。\n翻版必究!");
setBounds(100,200,500,500);
add(txt);
addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
setVisible(false);
}
} );
}
}*/
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询