スイングアプリケーションがあります。メニューバーのmenuItemをクリックすると、API呼び出しを行おうとしていますが、これには時間がかかると思われます。
API呼び出しが結果を出すまで、Swingアプリがスタック/ハングしたくなかったので、SwingUtilities.invokeLaterを使用して、API呼び出しを処理する新しく生成されたスレッドを分離しました。上記のコードは次のとおりです
public void actionPerformed(ActionEvent e){
Object src=e.getSource();
if(src.equals(theJMenuItemClicked)){
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
//apicall here
}
})
}
API呼び出しスレッドが機能している限り、「API呼び出しが進行中です」というメッセージと「スレッドの中止」ボタンを含むJDIalogを表示します。
Jdialogの「ABortThread」ボタンをクリックしてスレッドを強制終了したいのですが。
それが通常のスレッドである場合、があり、同じ上でThread t = new Thread(new Runnable())
を呼び出します。t.stop
SwingUtilitiesによって生成された特定のスレッドインスタンスを取得して、停止を呼び出すにはどうすればよいですか?簡単に言うと、上記で作成したスレッドを強制終了するにはどうすればよいですか?