Publié le 14/10/2010
Auteur axel
Réseaux sociaux
0 partages
0 tweets
0 plus
0 commentaires

Afficher l'heure actuelle avec un Timer

L'exemple suivant est une horloge qui affiche l'heure, les minutes et les secondes. Bref une petite horloge avec l'heure actuelle. La précision est approximative, c'est un Timer qui déclenche l'affichage de l'heure toutes les secondes.

Decoder une date et une heure

L'heure est affichée sous forme d'un string dans un jLabel. En effet, il est possible de créer une petite animation pour représenter l'heure comme le cadran d'une montre.
La class suivante comprend les mécanismes suivants:
- Calendar.getInstance().getTime(): Obtenir le timestamp actuel pour en extraire l'heure,
- SimpleDateFormat("HH:mm:ss"): formater un nombre de seconde en heure, minute et seconde,
- Timer: rafraichir la zone toutes les secondes.
import java.awt.*;
import java.awt.event.*;
import java.text.SimpleDateFormat;
import javax.swing.*;
import java.util.Calendar;
 
/**
 * Afficher une horloge
 */
class ClockFrame extends JFrame {
 
    private JTextField jtextTime;
 
    /**
     * Initialisation JFrame + lancement du Timer
     */
    public ClockFrame() {
        jtextTime = new JTextField("Horloge", 5);
        jtextTime.setEditable(false);
        jtextTime.setFont(new Font("sansserif", Font.PLAIN, 48));
        JPanel content = new JPanel();
        content.setLayout(new FlowLayout());
        content.add(jtextTime);
        this.setContentPane(content);
        this.setTitle("Horloge Frame");
        this.pack();
        this.setLocationRelativeTo(null);
        javax.swing.Timer t = new javax.swing.Timer(1000, new ClockListener());
        t.start();
    }
 
    /**
     * Evenement Timer, afficher l'heure
     */
    class ClockListener implements ActionListener {
        public void actionPerformed(ActionEvent e) {
            SimpleDateFormat df = new SimpleDateFormat("HH:mm:ss");
            jtextTime.setText(df.format(Calendar.getInstance().getTime()));
        }
    }
 
    /**
     * Exemple créer le JFrame
     * @param args
     */
    public static void main(String[] args) {
        JFrame clock = new ClockFrame();
        clock.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        clock.setVisible(true);
    }
}

Dans l'exemple, les données sont affichées dans jTextField contenu lui-meme dans un JFrame. La fonctionnalité peut etre extraite pour afficher l'heure voire la date directement dans une zone d'outil de vos applications.

Ajouter un commentaire

Les champs marqués d'un * sont obligatoires, les adresses emails se sont pas publiées.

A lire aussi

Réseaux sociaux
Présentation de l'article
Catégorie
java - sources
Mise a jour
14/10/2010
Visualisation
vu 8363 fois
Public
Internaute
Auteur de la publication
Axel
Membre junior
Auteur de 51 articles
|BIO_PSEUDO|
Commentaires récents

Publié par Pierrot dans CMS

Je présume que c'est plutot application.terminate;, le clavier à fourcher, ça m'arrive souvent.
@+

Publié par l'indik dans java

Sauf que si l'objet n'est plus utilisé, quand tu fait ton new , la mémoire sera automatiquement libéré si cela est nécessaire. Donc l'utilisation de System.gc() n'es...

Publié par Axel dans java

Bonjour Kezouille,
je viens de tester sur notre LAN (serveur Windows 7), la surveillance a l'air de marcher.
De votre cote, s'agit-il d'un serveur sous Windows ou sous Linux ?
Pouvez-vou...

Publié par Fobec dans tuto

Bonjour,

Sur Fobec.com, nous utilisons mod_expires.c pour envoyer automatiquement un code 304 au navigateur internet.
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType im...

Publié par farid dans CMS

formation delphi 7