對於當前項目,我們需要允許用戶每5秒左右按一次按鈕一次。我們使用一個按鈕來啓動打印作業,但我們需要阻止用戶發送垃圾信息並啓動一打打印作業。在java中每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);
}
}
不應該在GUI線程(EDT)上調用'Button1.setEnabled(false)'嗎? – assylias
我tink setEnabled是幾個揮杆相關的方法之一,你可以調用EDT – RNJ
你試圖解決什麼問題? –