[RESOLVIDO]Verificação em looping

4 respostas
java
M

Ola, pessoal

Gostaria de uma ajuda, estou começando em java, fiz um programa e gostaria que ele fizesse verificações constantes na rede, porém o java não me deixar fazer um loop com while, quando executo a aplicação ela fica travada e não me deixa clicar em nada.

int i=1;
   while(i==1){
   if(valor == -1){
       btnAtualizar.setVisible(false);
    }
        else if(valor == 0 || valor == 1){
       
       btnAtualizar.setVisible(false);
    }

4 Respostas

viniciosarodrigues

Olá, amigo…
Este loop nunca vai parar, pois ele sempre vai ser 1, logo a aplicação sempre irá travar dentro dele.
Seria mais interessante realizar a verificação à partir de uma thread.

D

Vc precisa rodar numa thread, caso contrário ficará preso no loop

int i = 1;
public void run() {
 while (i == 1) {
  if (valor == -1) {
   btnAtualizar.setVisible(false);
  } else if (valor == 0 || valor == 1) {
   btnAtualizar.setVisible(false);
  }
  try {
   Thread.sleep(3 * 1000); // aguarde 3 segundos
  } catch (Exception e) {
  }
 }
}

https://www.caelum.com.br/apostila-java-orientacao-objetos/programacao-concorrente-e-threads/

M

Olá, amigo…
Este loop nunca vai parar, pois ele sempre vai ser 1, logo a aplicação sempre irá travar dentro dele.
Seria mais interessante realizar a verificação à partir de uma thread.

Certo, muito obrigado pela resposta, meu programa verifica a atualização sempre que abre o programa, coloquei ela(a verificação) no evento formWindowActivated, seria a melhor maneira?
Obs: Estou pesquisando sobre thread.

M

Obrigado Diego, me ajudou.

Criado 16 de fevereiro de 2017
Ultima resposta 16 de fev. de 2017
Respostas 4
Participantes 3