Então , o que eu queria fazer era: Quando eu Pressionar o JButton, ele vai setar esse mesmo JButton para setEnable(false); e daria um Thread.sleep(3000) e depois setEnable(true) novamente , eu estive lendo sobre Threads e vi que a solução seria criar uma outra Thread para não interromper a Thread principal do JFrame, ai eu tentei fazer isso:
Thread delay = new Thread (new Runnable(){
publicvoidrun(){try{Thread.sleep(3000);}catch(InterruptedExceptione){// TODO Auto-generated catch blocke.printStackTrace();}btnTeste.setEnabled(true);}});delay.start();btnTeste.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEventarg0){btnTeste.setEnabled(false);delay.start();}});
mas ai no console aponta um erro e o não ativa nem o sleep nem o botão denovo… gostaria por favor que alguem me ajudace (eu não conheço muito bem Thread, então se puderem falar onde eu coloco a solução no código/explicar a solução eu agradeço)
btnTeste.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEventarg0){btnTeste.setEnabled(false);newThread(newRunnable(){publicvoidrun(){try{Thread.sleep(3000);}catch(InterruptedExceptione){// TODO Auto-generated catch blocke.printStackTrace();}btnTeste.setEnabled(true);}}).start();}});
Poderia tentar usar o JToggleButton
P
Programador273
Funcionou Perfeitamente, muito obrigado diego12 e TerraSkilll pelas respostas
(e mesmo se eu tivesse usado o JToggleButton, teria que fazer o Thread.sleep do mesmo jeito xD)