を拡張するクラスがありますSwingWorker<Void, Void>
。バックグラウンドスレッドでは、レイアウトの変更とフレームへの新しいパネルの追加に成功した場合、ログインを行うことになっています。したがって、SwingWorkerは次の3つのタスクを実行します。
- ログイン
- レイアウトを変更する
- パネルを追加/削除します。
そこで、この関数をdoInBackground()メソッドで記述しました。ただし、ここで発生するのは、ログインが成功したかどうかに関係なく、この3つのメソッドが常に実行されることです。ログインに失敗したらworkerの実行を停止したい。cancel()メソッドを試しましたが、機能しませんでした。どうすればこれを適切な方法で行うことができますか?SwingWorkerでログインタスクを実行する適切な方法は何でしょうか?