Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/359.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 具有相同原因的多个事件_Java_Swing_Awt - Fatal编程技术网

Java 具有相同原因的多个事件

Java 具有相同原因的多个事件,java,swing,awt,Java,Swing,Awt,当字段失去焦点时,此代码会引发异常 JTextField field = new JTextField(); field.addFocusListener(new FocusListener(){ public void focusGained(FocusEvent evt){ } public void focusLost(FocusEvent evt){ try{ doSomething(); }catc

字段
失去焦点时,此代码会引发异常

JTextField field = new JTextField();

field.addFocusListener(new FocusListener(){

    public void focusGained(FocusEvent evt){

    }

    public void focusLost(FocusEvent evt){
        try{
            doSomething();
        }catch(Exception ex){

        }
    }

});
但是如果
字段
由于按下按钮而失去焦点,并且
doSomething()
抛出异常, 我希望这个按钮不起作用。
这可能吗?

可能是一种迂回的方式。一个更好的解决方案“可能”是使用一个
InputVerifier
,它可以控制焦点是否应该从字段转移,尽管我有点讨厌它(因为我不倾向于以线性方式思考,所以会在字段周围跳来跳去谢谢你,@MadProgrammer.
InputVerifier
是一个很好的解决方案。