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
728 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!

source:php.cn
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