현재 프로젝트의 경우 사용자가 5 초마다 한 번만 버튼을 누를 수 있도록 허용해야합니다. 우리는 인쇄 작업을 시작하기 위해 버튼을 사용하지만 사용자가 버튼을 스팸하거나 12 가지 인쇄 작업을 시작하지 못하도록해야합니다.자바에서 버튼을 5 초마다 최대 1 회 누름
우리는 현재 다음 코드로 시도하고 있지만 버튼이 비활성화되어 있어도 클릭 수를 줄인 것처럼 보입니다. 따라서 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
나는 setEnabled가 EDT라고 부를 수있는 몇 가지 스윙 관련 방법 중 하나입니다. – RNJ
어떤 문제를 해결하려고합니까? –