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
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