Ola pessoas, boa tarde
Estou com problemas e ‘continuar’ uma Thread pausada com o metodo wait();, comumente o metodo notifyAll(); botaria a Thread para funcionar novamente…
mas não é isso que acontece, segue meu código abaixo /
//Meu frame Runnable
public class ControleFrame extends JFrame implements Runnable {
//atributos..
//componentes de tela..
//Meu metodo Run
public void run() {
try {
String telaControle = Thread.currentThread().getName();
int prodDiaINT = 0;
int bobinaINT = Integer.parseInt(txtBobina.getText());
int minBobinaINT = Integer.parseInt(txtMinBobina.getText());
while(True){
Thread.sleep(1000);
prodDiaINT++;
bobinaINT--;
String prodDiaSTR = Integer.toString(prodDiaINT);
String bobinaSTR = Integer.toString(bobinaINT);
txtprodDia.setText(prodDiaSTR);
txtBobina.setText(bobinaSTR);
if(bobinaINT == minBobinaINT){
txtBobina.setBackground(Color.red);
}
//Nesse if eu mando a Thread parar quanto a caixa de texto bobina chega a 0
if(bobinaINT == 0){
JOptionPane.showMessageDialog(null, "Favor trocar a bobina!!");
System.out.println("PAROU");
telaControle.wait();//METODO PARA PARAR THREAD
}
}
} catch (Exception e) {
// TODO: handle exception
}
}
Isso é apenas um laço de repetição infinito só para incrementar e decrementar valor nas caixas que eu cito.
Reparem naquele if que mando a Thread parar, ate ai funciona. O problema é iniciar essa Thread novamente, eu ja tentei fazer outro if
para verificar quando e maior que zero eu chamo o notifyAll() mas nada acontece, acredito que seja pro causa do próprio laço. Eu tambem ja tentei
chamar o notityAll() no botao de OK do meu JDialog, responsavel por preencher um novo valor quando chega a 0 e a Thread para.
Enfim, tem alguma coisa muito errada ai, gostaria que me ajudassem.
Agradeço
)