Refresh em um determinado método

9 respostas
Luiz_Henrique_Campos

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?

9 Respostas

F

estou com esse problema tambem, pra reatualizar os dados que vem do banco, preciso fechar e abrir o programa novamente!

JulioCesarSF

Tem algumas classes em combinação (Runnable e Callable): ScheduledExecutorService, Timer, ou faz uma lógica e dispara uma Thread.

Luiz_Henrique_Campos

Sim, aqui atualiza de novo só se fechar e abrir novamente

JulioCesarSF

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);
	}

}
Luiz_Henrique_Campos

Bah, vai me ajudar muito, vou fazer testes. Obrigado por enquanto

F

não entendi como vou aplicar esse codigo

JulioCesarSF

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

Luiz_Henrique_Campos

Eu consigo colocar esse código na action de um botão de refresh por exemplo?

JulioCesarSF

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? :relaxed:

Criado 8 de novembro de 2017
Ultima resposta 9 de nov. de 2017
Respostas 9
Participantes 3