⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 example11_7.java

📁 书中的例题
💻 JAVA
字号:
  /* 哈希表的应用  */
  import java.util.*;
  import java.awt.event.*;
  import java.awt.*;
  import javax.swing.*;
  import java.io.*;
  class  员工 extends JPanel 
  {
	String 编号,姓名;
	String 联系电话;
    员工(String 编号,String 姓名,String 联系电话)
    {
		this.编号=编号;
		this.姓名=姓名;
		this.联系电话=联系电话;
    }
  }
 class ShowWin extends JFrame implements ActionListener
  {
	Hashtable hashtable=new Hashtable();
    JTextField 编号文本框=new JTextField(),
               姓名文本框=new JTextField(),
               联系电话文本框=new JTextField(),
               查询文本框=new JTextField();
    JButton  b_add=new JButton("添加信息"),
             b_show =new JButton("显示信息");
    JTextField 信息显示条=new JTextField();
    ShowWin()
    {
	 super("信息输入和查询系统");
	 Container con=getContentPane(); 
     JPanel 信息输入区=new JPanel();
            信息输入区.setLayout(new GridLayout(5,2));
            信息输入区.add(new Label("信息输入区:"));
            信息输入区.add(new Label());
            信息输入区.add(new Label("员工编号:"));
            信息输入区.add(编号文本框);
            信息输入区.add(new JLabel("员工姓名:"));
            信息输入区.add(姓名文本框);
            信息输入区.add(new Label("联系电话:"));
            信息输入区.add(联系电话文本框);
            信息输入区.add(new Label("点击添加:"));
            信息输入区.add(b_add);
     JPanel 查询显示区=new JPanel();
            查询显示区.setLayout(new GridLayout(3,2));
            查询显示区.add(new Label("信息查询区:"));
            查询显示区.add(new Label());
            查询显示区.add(new Label("输入员工的编号:"));
            查询显示区.add(查询文本框);
            查询显示区.add(b_show);
            查询显示区.add(信息显示条);
    JSplitPane split;
    split=new JSplitPane(JSplitPane.VERTICAL_SPLIT,
		                       信息输入区,查询显示区);
    con.add(split,BorderLayout.CENTER);
    con.add(new Label("       信息输入和查询系统"),BorderLayout.NORTH);
    b_add.addActionListener(this);
	b_show.addActionListener(this);
  }
 public void actionPerformed(ActionEvent e)
 {
  if(e.getSource()==b_add)
  {
	String 编号=null,姓名=null, 联系电话=null;
    try {
		 编号=编号文本框.getText();
         姓名=姓名文本框.getText();
         联系电话=联系电话文本框.getText();
        }
    catch(NullPointerException ee)
        { 
		  编号文本框.setText("请输入编号");
          姓名文本框.setText("请输入姓名");
          联系电话文本框.setText("请输入联系电话");
        }
    员工 emp=new 员工(编号,姓名,联系电话);
    hashtable.put(编号,emp);
    try {
		 FileOutputStream file;
		 file=new FileOutputStream("员工信息.dat");
         ObjectOutputStream out;
		 out=new  ObjectOutputStream(file);
         out.writeObject(hashtable);
		 out.close();
        }
    catch(IOException event){System.out.println(event);}
   }
 else if(e.getSource()==b_show)
  {
	String temp=null;
    temp=查询文本框.getText();
    信息显示条.setText(null);
    try {
		 FileInputStream come_in;
		 come_in =new FileInputStream("员工信息.dat");
         ObjectInputStream in;
		 in=new  ObjectInputStream(come_in);
         hashtable=(Hashtable)in.readObject();
		 in.close();
        }
   catch(ClassNotFoundException event)
	   {System.out.println(event);}
   catch(IOException e2){System.out.println("文件无法读出");}
   try{
       员工 s=(员工)hashtable.get(temp);
       信息显示条.setText("姓名:"+s.姓名+"编号:"+s.编号+"联系电话:"+s.联系电话);
     }
    catch(Exception e3){System.out.println("没有输入编号,文件读取错误");}
  }
 }
} 
public class Example11_7
{
  public  static void main(String args[])
   { 
	  ShowWin win=new ShowWin();
      win.setSize(400,300);
	  win.setVisible(true);
	  
      win.addWindowListener(new WindowAdapter()
       {
		 public void windowClosing(WindowEvent e)
          {
			 System.exit(0);
		  }
	  });
   }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -