たくさんの問題を引き起こすボタンを含む Java プログラムを作成しています。ユーザーがボタンをクリックできる時間の間に遅延を作成するにはどうすればよいでしょうか (ボタンのスパムを防ぐため)。これが私が試したものです。
public void ButtonActionPerformed(java.awt.event.ActionEvent evt) {
Thread DelayTHREAD = new Delay();
if(DelayTHREAD.isAlive()) {
/*do nothing*/
}
else {
/*some other code*/
DelayTHREAD.start();
}
}
public static class Delay extends Thread /*Prevents user from spamming buttons*/ {
@Override
public void run() {
try {
Thread.sleep(5000); /*sleeps for the desired delay time*/
}catch(InterruptedException e){
}
}
}
OK、ここに問題があります。遅延スレッドが開始されているかどうかは関係ありません。プログラムは引き続き実行され、遅延スレッドが存在しなかったかのように実行されたアクションを実行し続けます。
ユーザーがプログラムでボタンをスパムできないように、遅延を作成する方法を誰か教えてください。ありがとう :)