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
DDDoriginal
2024-12-11 09:16:09973parcourir

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);
  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();
        }
    }
};
  1. Ajouter ActionListener à la minuterie : Associez l'ActionListener à la minuterie.
timer.addActionListener(listener);
  1. Démarrer la minuterie : Lancez le minuteur pour commencer à déclencher des événements.
timer.start();
  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!

Déclaration:
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