Soy un principiante de Java y estoy tratando de construir un programa de cronómetro simple que muestre la hora en una GUI de swing. Hacer el cronómetro es fácil, sin embargo, no encuentro la forma de actualizar la GUI cada segundo y mostrar la hora actual en el cronómetro. ¿Cómo puedo hacer esto?Cronómetro de Java que actualiza la GUI cada segundo?
Respuesta
algo en este sentido debe hacerlo:
import java.awt.EventQueue;
import java.util.Timer;
import java.util.TimerTask;
import javax.swing.JFrame;
import javax.swing.JLabel;
/** @see https://stackoverflow.com/a/11058263/230513 */
public class Clock {
private Timer timer = new Timer();
private JLabel timeLabel = new JLabel(" ", JLabel.CENTER);
public Clock() {
JFrame f = new JFrame("Seconds");
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.add(timeLabel);
f.pack();
f.setLocationRelativeTo(null);
f.setVisible(true);
timer.schedule(new UpdateUITask(), 0, 1000);
}
private class UpdateUITask extends TimerTask {
int nSeconds = 0;
@Override
public void run() {
EventQueue.invokeLater(new Runnable() {
@Override
public void run() {
timeLabel.setText(String.valueOf(nSeconds++));
}
});
}
}
public static void main(String args[]) {
EventQueue.invokeLater(new Runnable() {
@Override
public void run() {
final Clock clock = new Clock();
}
});
}
}
El timeLabel
siempre mostrará el número de segundos que el temporizador ha estado funcionando.
Hice la GUI usando el editor visual de netbeans, ¿cómo puedo hacer referencia a un jlabel dentro de la GUI? – Dangerosking
@trashgod ¿qué parte necesita invokeLater? – GETah
@GETah El método 'run()' de 'UpdateUITask', ya que java.util.Timer lo ejecutará fuera del EDT. – millimoose
- 1. ¿ViewModel se actualiza cada segundo?
- 2. Mostrar un archivo de texto en una página web que se actualiza cada segundo
- 3. ¿Por qué BackgroundWorker_RunWorkerCompleted no actualiza la GUI?
- 4. Cronómetro reiniciable Java
- 5. Clase de cronómetro para Java
- 6. Java: Cronómetro e hilo crea
- 7. Cronómetro que cuenta regresivamente en C#
- 8. Tome cada segundo objeto en la lista
- 9. Android: cronómetro como un cronómetro persistente. Cómo establecer la hora de inicio? ¿Qué es el cronómetro "Base"?
- 10. ¿Cronómetro cronómetro .Net y multinúcleo?
- 11. que es la mejor herramienta de prueba de Java GUI?
- 12. Cronómetro de alto rendimiento frente a Cronómetro
- 13. Recorriendo la GUI en Java
- 14. ¿Cómo actualizar una etiqueta periódicamente en iOS (cada segundo)?
- 15. Alternativas GUI de Java
- 16. ¿Por qué no mantener mi cronómetro reseting después de 1 segundo
- 17. Android: actualiza la vista de lista después de que Thread carga datos de la red
- 18. Cronómetro eficiente
- 19. Clase de cronómetro que muestra min, max, average, ... times?
- 20. Mejor editor GUI de Java
- 21. Patrón de observador para el cronómetro
- 22. ¿Cómo procesar cada segundo archivo en bash?
- 23. cronómetro JavaFX
- 24. Haga clic en un botón cada segundo
- 25. actualiza la ventana de la consola con java
- 26. Bibliotecas Java GUI
- 27. Crear GUI usando Eclipse (Java)
- 28. Disparador que actualiza solo la fila insertada
- 29. ¿Hay alguna herramienta de creación de aplicaciones Java GUI GUI que no sea IDE específica?
- 30. Sudoku GUI usando java
Usa la clase 'Timer' de' Swing'. Puede encontrar más información sobre la forma de utilizar 'Timer', por ejemplo, [en la pregunta y, en particular, en sus respuestas.] (Http://stackoverflow.com/q/11053097/613495) – Boro
Vea también esta [respuesta] (http://stackoverflow.com/a/5529043/230513). – trashgod
Sí, sé que lo tenía en alguna parte [una de mis respuestas está relacionada con el uso de 'Timer'] (http://stackoverflow.com/a/5911514/613495). @trashgod muy buena respuesta/muestra +1 aquí y +1 allí ... y estoy sin votos ... por hoy :) – Boro