对于当前项目,我们需要只允许用户每 5 秒左右按一次按钮。我们使用按钮来启动打印作业,但我们需要阻止用户向按钮发送垃圾邮件并启动十几个打印作业。
我们目前正在尝试使用以下代码,但即使按钮被禁用,它似乎也会对点击进行排队。因此,在 5 秒延迟后,点击记录在那个时间按钮被禁用时甚至很难。
private void Button1ActionPerformed(java.awt.event.ActionEvent evt) {
Button1.setEnabled(false);
pressCount++;
System.out.println("Press count: " + pressCount);
PrintJob print = new PrintJob();
try {
Thread.sleep(5000);
} catch (InterruptedException ex) {
Logger.getLogger(GUIFrame.class.getName()).log(Level.SEVERE, null, ex);
}
try {
print.PrintJob();
} catch (IOException ex) {
Logger.getLogger(GUIFrame.class.getName()).log(Level.SEVERE, null, ex);
}
}