Estou usando Timer e TimerTask na minha aplicação e preciso saber a hora (hh:mm:ss) que cada thread executa. Tentei o método scheduledExecutionTime() mas ele só me retorna a previsão de excução e eu preciso saber o tempo qndo a tarefa termina. Alguém tem alguma idéia?
É para isso que você tem o esquema de “getters” e “setters” Pegue todos os acessos a essa tal variável e os encapsule em um “getter” e “setter” que chame seu monitor. Quando o conteúdo for consultado, o getter será chamado; quando o conteúdo for modificado, o setter será chamado.
O aplicativo é um pouco mais complexo, sendo assim esta alternativa fica limitada. Só para esclarecer… precisava que a cada execução de uma TimerTask um JLabel fosse alterado (obs: as TimerTasks estavam em classes separadas).
Consegui resolver o problema com uma gambiarra mas por hora é o suficiente. Criei uma classe Auxiliar que extende a classe Tela e dentro do método run() de cada TimerTask chamo um método que altera o JLabel feito na classe Auxiliar. Confuso mas funcionou.