ボタンが選択されると GUI をレンダリングするクラスがあります。その GUI 内には、リスナーがアタッチされ、JAVA の ExecutorService でスレッドを実行する別のボタンがあります。
public class ListenMenuAbout implements ActionListener {
public void actionPerformed(ActionEvent e) {
//Renders Gui
JButton exampleButton = new JButton
button.AddListener(new ListenBtnPupDownloadAll());
}
}
public class ListenBtnPupDownloadAll implements ActionListener {
public void actionPerformed(ActionEvent e) {
executor.execute(new DownloadAll());
}
}
スレッドが exampleButton.setEnabled(false) で実行されている間は exampleButton を無効にし、.setEnabled(true) の実行が終了したら無効にしたいと思います。
while (!executor.isTerminated()) {
btnPupDownloadAll.setEnabled(false);
}