Maison > Java > javaDidacticiel > Comment puis-je mettre à jour un JLabel avec des mots d'une ArrayList toutes les X secondes dans Swing ?

Comment puis-je mettre à jour un JLabel avec des mots d'une ArrayList toutes les X secondes dans Swing ?

DDD
Libérer: 2024-12-11 09:16:09
original
885 Les gens l'ont consulté

How Can I Update a JLabel with Words from an ArrayList Every X Seconds in Swing?

Mettre à jour JLabel toutes les X secondes à partir d'ArrayList

Dans cet article, nous aborderons un problème dans lequel vous rencontrez des difficultés pour mettre à jour un JLabel dynamiquement dans une application Swing. Plus précisément, vous essayez d'afficher une séquence de mots, chaque mot apparaissant pendant une certaine durée.

Pour résoudre ce problème, nous utiliserons la classe javax.swing.Timer. Voici un aperçu de son fonctionnement :

  1. Créer un minuteur : Définissez un minuteur qui déclenchera une action toutes les X millisecondes. Par exemple, pour afficher des mots toutes les 2 secondes, définissez un délai de 2 000 millisecondes.
final Timer timer = new Timer(2000, null);
Copier après la connexion
  1. Implémentez ActionListener : Créez un ActionListener à exécuter lorsque la minuterie se déclenche. un événement. Dans cet écouteur, vous mettrez à jour le texte affiché sur le JLabel.
ActionListener listener = new ActionListener() {
    private Iterator<Word> it = words.iterator();

    @Override
    public void actionPerformed(ActionEvent e) {
        if (it.hasNext()) {
            JLabel.setText(it.next().getName());
        }
        else {
            timer.stop();
        }
    }
};
Copier après la connexion
  1. Ajouter ActionListener à la minuterie : Associez l'ActionListener à la minuterie.
timer.addActionListener(listener);
Copier après la connexion
  1. Démarrer la minuterie : Lancez le minuteur pour commencer à déclencher des événements.
timer.start();
Copier après la connexion
  1. Mettre à jour le texte sur l'événement : Lorsque le minuteur déclenche un événement, ActionListener met à jour le texte du JLabel avec le prochain mot dans la liste. S'il n'y a plus de mots, cela arrête le chronomètre.

En suivant ces étapes, vous pouvez obtenir l'effet souhaité de mises à jour dynamiques de texte sur un JLabel.

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal