JavaとSwingのある点を見逃しているようです。問題は次のとおりです。
- スタート/ストップボタン付きのスイングGUIがあります(その他)
- 関数(この場合はスレッドとして設定されているもの)を開始し、スレッドを開始して機能します。SwingGUIは完全に機能し、ワーカースレッドのパラメーターの変更など、他のすべてのことを実行します。
- もちろん、ユーザーの要求に応じてスレッドを停止するように要求する割り込みを送信することは機能しています。ここまでは順調ですね。
しかし、Swing GUIがスレッドが自動的に停止したことに気付く方法は見つかりませんでした。無視すると、ユーザーが混乱します。もちろん、私はループを入れます。ここで、Swing GUIは定期的にThread.isAliveかどうかを尋ねます(そして、もう一度尋ねるためにしばらくスリープします)が、このループはSwingGUIを完全にブロックします。理想的には、スレッドが停止したという通知またはイベントを受け取りたいです。他のすべてのイベントと同様に、Swingプロセス:-)。
それを設定する適切な方法は何ですか?