Refresh em um determinado método

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?

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