Como parar o programa por um tempo

jah tentei usar Thread.sleep(time) e wait(time)…
mas pelo fato de do comando estar dentro do while(eu acho q é por isso), a aplicação acumula o tempo total e dorme por aquele tempo. dpois soh apresenta o estado final da tela… nao mostra as operaçoes acontecendo passo a passo…
o que posso fazer?

ve se esse topico tira tua duvida:
http://www.portaljava.com.br/home/modules.php?name=Forums&file=viewtopic&t=7712&sid=e8eb96e4b6b9f5cdac681d4ed0362e67

:grin:

eu ateh jah tinha olhado esse topico, e ateh respondi lah, pq akele codigo nao funciona dentro de um laço while, acontece a mesma coisa que eu falei ali em cima… acumulo de tempo(programa fica parado) e dpois mostra o estado final da tela…
se alguem puder me ajudar fico agradecido =]

desculpa, eu mal li seu post e pensei que o topico que li a pouco tempo iria ajudar… :oops:
bem, se voce quer que o programa mostre alguma coisa ao usuario de tempo em tempo, voce pode ver se da para usar a classe Timer(mas se o programa realmente precisa parar, isso nao vai funcionar).

espero ter dado uma força…

essa classe timer serve soh para mostrar a mesma coisa de tempo em tempo para o usuario? ou funciona como um laço while? pq preciso ler um vetor de instruçoes, e cada instruçao deve ser vista em quanto acontece. por ex… 1a instruçao seria JTextField1.setText(“oi”);
2a instruçao seria JTextField2.setText(JTextField1.getText());
e assim vai… e o usuario precisa ver isso acontecendo… aparecer “oi” no primeiro JTextField e dpois de um tempo aparecer “oi” no segundo JTextField…
fui claro? alguma outra sugestao?

???

oi,
nao entendi bem a definicao de “vetor de instrucoes”, mas se for algo que voce pode ler como um array(ou seja, em uma iteração), da pra usar a classe Timer sim. quando o Timer esta rodando, ele gera um Action Event de tantos em tantos milisegundos, definidos por voce.
dessa forma, voce poderia ter um indice como variavel global e realizar a acao a cada actionPerformed:

import java.awt.event.*;

public class Teste implements ActionListener {
   int indice;
   INSTRUCAO[] ins;
   Timer timer;
//...
//...
  public void actionPerformed(ActionEvent ae) {
     if(ae.getSource() == this.timer) {
        ins[this.indice];
        this.indice++;
     }
  }
}

deu pra entender a abstração que eu considerei neh?

espero ter ajudado

quando o programa iniciar, o timer vai começar sozinho jah?
eu tenho um botao “iniciar processo”, como faço para o timer soh ser chamado quando esse botao for apertado?

consegui com o timer =]
valeu ae

Galera, por favor só preciso chamar uma função a cada um minuto (60000 milisegundos), não estou conseguindo usar esse tal de timer, só um detalher a unica coisa que minha função main vai ter que fazer é chamar ou não sei como funciona esse timer em JAVA, mas tem fazer esse timer funcionar e acabou o resto a função que o timer chama faz!!!

valew