@Override
 public void actionPerformed(ActionEvent e) {
   JTextField tf = (JTextField) e.getSource();
   String test = tf.getText().trim();
   if (!test.equals("")) {
     find(test);
   }
 }
 @Override
 public void propertyChange(PropertyChangeEvent e) {
   if (e.getPropertyName().equals(CalendarCardPanel.PICKED_DATE)) {
     SimpleDate sd = (SimpleDate) e.getNewValue();
     tf.setText(SimpleDate.simpleDateToMmldate(sd));
     popup.setVisible(false);
     popup = null;
     String test = tf.getText().trim();
     if (!test.equals("")) {
       find(test);
     }
   }
 }
    public EventAdapter(JTextField tf, JTable tbl) {

      boolean autoIme = Project.getBoolean("autoIme", true);
      if (autoIme) {
        tf.addFocusListener(AutoKanjiListener.getInstance());
      } else {
        tf.addFocusListener(AutoRomanListener.getInstance());
      }
      tf.addActionListener(EventAdapter.this);

      tbl.getSelectionModel().addListSelectionListener(EventAdapter.this);
      tbl.addMouseListener(EventAdapter.this);
    }
 public PopupListener(JTextField tf) {
   this.tf = tf;
   tf.addMouseListener(PopupListener.this);
 }