Maison >Java >javaDidacticiel >Comment mettre à jour un JLabel toutes les X secondes avec les données d'une ArrayList en Java ?

Comment mettre à jour un JLabel toutes les X secondes avec les données d'une ArrayList en Java ?

DDD
DDDoriginal
2024-12-01 09:39:14351parcourir

How to Update a JLabel Every X Seconds with Data from an ArrayList in Java?

Mettre à jour JLabel toutes les X secondes à partir de ArrayList en Java

Dans cet article, nous visons à relever le défi de la mise à jour dynamique d'un JLabel toutes les X secondes en fonction des mots obtenus à partir d'un ArrayList à l'aide d'un Swing Timer.

Problème

Nous avons un programme Java qui lit les mots d'un fichier texte et les affiche séquentiellement sur la console avec un délai de 2 secondes entre chaque mot. L'objectif est de reproduire ce comportement dans une interface graphique basée sur Spring avec un JLabel qui fait clignoter les mots avec des intervalles similaires.

Solution

  1. GUI Configuration :Construire et afficher l'interface utilisateur graphique.
  2. Swing Timer : créez un javax.swing.Timer qui s'exécute toutes les 500 millisecondes.
  3. Action Listener : implémentez un ActionListener qui parcourt l'ArrayList et met à jour le texte du JLabel.
  4. Intégration : Ajoutez l'ActionListener au Timer et démarrez le Timer.

Voici comment la solution peut être implémentée en Java :

// Assuming you have an array list of strings named "words"
final Timer timer = new Timer(500, null);
ActionListener listener = new ActionListsner() {
    private Iterator<String> it = words.iterator();
    @Override
    public void actionPerformed(ActionEvent e) {
        if (it.hasNext()) {
            label.setText(it.next());
        }
        else {
            timer.stop();
        }
    }
};
timer.addActionListener(listener);
timer.start();

En suivant ces étapes, vous pouvez créer un JLabel dynamique qui met à jour son texte à chaque X secondes basées sur les mots de ArrayList, permettant un effet de mot clignotant dans votre interface graphique.

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