私は次のアプリケーションを持っています:
- ユーザー入力用の1つのJTextField、
- ビジー状態を示す1つのJLabel、
- 検索結果を印刷するための1つのJTextArea。
ユーザーにテキストフィールドにテキストを書き込んで、Enterキーを押して結果を表示してほしい。私はこのようなリスナーを持っています:
private void searchForPattern(java.awt.event.ActionEvent evt) {
textArea.setText("");
busyLabel.setText("Searchnig ...");
doSearch();
busyLabel.setText("Idle");
}
doSearchには、多くのXMLファイルを開いて特定のパターンを検索する非常に複雑なアルゴリズムがあり、時間がかかります。busyLabelのテキストは、doSearchが完了した後にのみSearching...に変更されます。doSearchには2番目のスレッドはなく、多くのIO操作のみがあります。
どうすればこれを修正できますか?