这个贴里俺写了一个例子,你看看(可惜这个家伙不结贴):
http://expert.csdn.net/Expert/topic/1383/1383600.xml?temp=.8268091

解决方案 »

  1.   

    to beyond_xiruo(希偌) 
    你的代码只能在一个文本内有效啊,有多个文本就没办法了。
    在试试你。
    我的目的不是在按按钮的时候检测,而是在文本切换的时候检查。这样就会有麻烦的。
      

  2.   

    从此以后,我要
    good good study,
        day day up!
      

  3.   

    在focuslost事件中加入
    if ( e.isTemporary) { return; }
    能解决这种问题,但实际上焦点的处理上,在jdk1.4才得到很好的解决。在以前的jdk版本里有一些bug。
      

  4.   

    beyond_xiruo(希偌) 
    public void focusGained(FocusEvent e) {
    if(f||!(e.getSource() instanceof JButton))return;
    if(e.getSource()==jb1) {
      System.exit(0);
    } else if(e.getSource()!=jb1) {
      JOptionPane.showMessageDialog(this,"必须输入数字!");
      jtf.requestFocus();
      jtf.selectAll();
    }
    }public void focusLost(FocusEvent e) {
    if(e.getSource()==jtf) {
    try{
      Double.parseDouble(jtf.getText());
      f=true;
    }catch(Exception ex) {
      f=false;
    }
    }
    }
    我是想改,可是不好确定是哪个jtf啊,因为有多个jtf。如果一个一个的写的话我也可以去加一个全局变量来处理一下,应该是可一解决。但是我看看jdk1.4有没有办法解决。