Pessoal, tá dificil fazer isso, eu tentei fazer vários jeitos, funcionou, mas executou várias vezes. Enfim, eu preciso executar uma tarefa de meia em meia hora, da meia noite até as seis da manhã.
Eu fiz assim, criei um timer que mostrava a hora:
public void horario() {
new Thread() {
@Override
public void run() {
new javax.swing.Timer(0, (ActionEvent e) -> {
Date d = new Date();
SimpleDateFormat s = new SimpleDateFormat("HH:mm:ss");
campohora.setText(s.format(d));
lembrar();
}).start();
}
}.start();
}
aí depois fazia no meu outro método:
if(campohora.getText().equals("00:00:00"){
//executar a tarefa
}
Fiz isso da meia noite as 6 de meia em meia hora. Mas quando dava o horário, a tarefa executava mil vezes ao mesmo tempo, alguém tem outra solução?