2012-04-29 30 views
0

私のプログラムでは、TextFieldというdescFieldにフォーカスを失ったときにActionEventを呼び出すことにしました。私はdispatchEventを使用しました。 TextFieldJTextFieldに変更しても機能しません。私はいくつかの助けに感謝します(私はJavaの素人です)。ここに私のJTextFieldfocusLost方法であり、ディスパッチャは、次のとおりです。JTextField dispatchEventは機能しませんが、TextFieldのために機能します

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 

どのように私はそれが代わりにTextFieldの、JTextFieldを使用して動作させることができますか?

+0

すぐに役立つように、[SSCCE](http://sscce.org/)を投稿してください。 * "助けてくれてありがとう" *質問に感謝したい。あなたの質問は何ですか? –

+0

申し訳ありませんAndrew、私はSSCCEが何であるか分かりません。これが私の最初の質問です。質問は、TextFieldの代わりにJTextFieldを使ってどのように動作させることができますか? – user1364337

+0

*「私はSSCCEが何であるかわかりません」*その理由を説明する文書にリンクしています。 –

答えて

0

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

関連する問題