Boa Noite Pessoal!
Estou fazendo um projeto onde mostro cotações de moedas, extraídas de uma API com json. Necessito que após o programa aberto o método que faz a busca no site atualize em determinado tempo ou clicando em um botão. Alguma dica ou ideia?
Refresh em um determinado método
9 Respostas
estou com esse problema tambem, pra reatualizar os dados que vem do banco, preciso fechar e abrir o programa novamente!
Tem algumas classes em combinação (Runnable e Callable): ScheduledExecutorService, Timer, ou faz uma lógica e dispara uma Thread.
Sim, aqui atualiza de novo só se fechar e abrir novamente
Exemplo simples:
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
public class Principal {
public static int contador = 0;
public static void main(String[] args) {
ScheduledExecutorService servico = Executors.newSingleThreadScheduledExecutor();
Runnable run = new Runnable() {
@Override
public void run() {
call();
}
};
servico.scheduleAtFixedRate(run, 0, 5, TimeUnit.SECONDS);
}
public static void call() {
contador++;
System.out.println(contador);
}
}
Bah, vai me ajudar muito, vou fazer testes. Obrigado por enquanto
não entendi como vou aplicar esse codigo
O Scheduler vai rodar a cada 5 segundos no exemplo, executando o run que por sua chama o método call.
Vamo supor que quero fazer uma request ou chamar um método que faz um select em um banco a cada 5 segundos, eu colocaria o método que faz essa request dentro do run.
https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ScheduledExecutorService.html
https://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html
Eu consigo colocar esse código na action de um botão de refresh por exemplo?
Se quiser dar um atualizar é só chamar o método que você usa para fazer a request…
O que postei serve para atualizar sozinho periodicamente.
Eu acho assim, melhor estudar um pouco de Java antes do querer sair fazendo qualquer coisa para evitar essas perguntas. Concorda? 