addFocusListener(FocusListener fl);class fl implements FocusListener
{
public focusGained(FocusEvent e)
{
}
public focusLost(FocusEvent e)
{
}
}

解决方案 »

  1.   

    新建一个class。
    class TextFocusListener extends FocusAdapter{}
    在里面重写
    public void focusLost(FocusEvent e){}方法,实现你的想法。
    在你的JTextField声明后加入addFocusListener(new TextFocusListener());
      

  2.   

    我用這種方法,dialog會彈出兩次!!??why??
        jTextField1.addFocusListener(new FocusAdapter(){
           public void focusLost(FocusEvent e){
              if (jTextField1.getText().length()==0){
               JOptionPane.showMessageDialog(null,"ad","",JOptionPane.DEFAULT_OPTION);
              }
           }
        });
      

  3.   

    呵呵!忘了提醒你了,你试试这个!
    jTextField1.addFocusListener(new FocusAdapter(){
           public void focusLost(FocusEvent e){
              if(e.isTemporary()) return;
              if (jTextField1.getText().length()==0){
               JOptionPane.showMessageDialog(null,"ad","",JOptionPane.DEFAULT_OPTION);
              }
           }
        });