0

私のプログラムでは、フォーカスが失われたときにActionEventTextField名前付きの を呼び出したいと思いました。descField上手に使いdispatchEventました。を に変更したTextFieldところJTextField、動作しません。助けていただければ幸いです (私は Java のアマチュアです)。focusLostmy のメソッドであるディスパッチャーは次のJTextFieldとおりです。

    public void focusLost(FocusEvent f) {
        ActionEvent action = new ActionEvent(descField, ActionEvent.ACTION_PERFORMED, "focus_lost");
        descField.dispatchEvent(action); // Causes actionPerformed to be invoked
        // Does not work with JTextArea
    } //focusLost

JTextFieldの代わりに を使用して動作させるにはどうすればよいTextFieldですか?

4

1 に答える 1

0

このリスナー クラスの別のメソッドで ActionEvent にコードを配置し、代わりに actionPerformed メソッドと focusLost メソッドの両方から呼び出します。JTextField で正常に動作するようになりました。とにかくそうする人がほとんどだと思います。actionPerformed コードは非常に長かったです。

于 2012-05-02T20:32:47.440 に答える