Maison > Java > javaDidacticiel > Comment mettre à jour dynamiquement un JLabel avec des données ArrayList à l'aide d'un Swing Timer ?

Comment mettre à jour dynamiquement un JLabel avec des données ArrayList à l'aide d'un Swing Timer ?

Susan Sarandon
Libérer: 2024-12-12 13:47:13
original
820 Les gens l'ont consulté

How to Dynamically Update a JLabel with ArrayList Data Using a Swing Timer?

Mise à jour dynamique de JLabel en Java

Lorsque vous travaillez avec des interfaces graphiques, il est essentiel de mettre à jour les étiquettes de manière dynamique pour afficher les données en temps réel ou les entrées de l'utilisateur. un JLabel à intervalles réguliers dans un Java programme.

Question :

Comment utiliser Swing Timer pour mettre à jour JLabel à intervalles réguliers afin d'afficher les données stockées dans ArrayList ?

Réponse :

1. Utilisation de Swing Timer

Swing Timer est utilisé pour effectuer des tâches régulières dans Java SWING. classe de bibliothèque. Pour mettre à jour un JLabel de temps en temps, nous utilisons un Swing Timer et configurons un ActionListener pour gérer la tâche de mise à jour.

2. Implémentation d'ActionListener

L'implémentation d'ActionListener agit comme un rappel pour Swing Timer. ActionListener exécute sa méthode actionPerformed à chaque déclenchement du minuteur. Dans cette méthode, nous accédons aux mots de l'ArrayList et mettons à jour le texte du JLabel.

3. Démarrage et arrêt du minuteur

Le minuteur est démarré par la méthode start() et arrêté par la méthode stop(). Le temporisateur s'arrête lorsqu'il a fini de parcourir ArrayList ou lorsque certaines conditions sont rencontrées.

Exemple de code :

private void updateJLabel() {
    final Timer timer = new Timer(500, null);
    ActionListener listener = new ActionListener() {
        private Iterator<Word> iterator = words.iterator();
        @Override 
        public void actionPerformed(ActionEvent e) {
            if (iterator.hasNext()) {
                _textField.setText(iterator.next().getName());
            }
            else {
                timer.stop();
            }
        }
    };
    timer.addActionListener(listener);
    timer.start();
    
}
Copier après la connexion

Remarque :

Nous supposons que _textField est le JLabel à mettre à jour.

Après cette étape, vous pouvez mettre à jour dynamiquement un JLabel en Java et afficher les données à un intervalle spécifié.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal