Utiliser SwingPropertyChangeSupport pour mettre à jour dynamiquement JTextArea
Dans ce code, SwingPropertyChangeSupport est utilisé pour déclencher des mises à jour dans un JTextArea chaque fois que le modèle de données sous-jacent, représenté par la classe ArrayForUpdating, change. Cela permet une mise à jour dynamique de l'interface graphique en réponse aux modifications apportées au modèle de données.
La classe ArrayForUpdating est responsable de la maintenance d'un tableau d'entiers. Il expose une instance SwingPropertyChangeSupport, permettant aux auditeurs de s'inscrire aux événements de changement de propriété. Chaque fois que le tableau est modifié, la classe ArrayForUpdating déclenche un événement de changement de propriété, avertissant les écouteurs enregistrés.
Dans la classe GuiForUpdate, une instance de ArrayForUpdating est créée et enregistrée en tant qu'écouteur de changement de propriété. Lorsque le tableau est modifié, l'écouteur est invoqué et la valeur modifiée est récupérée. Cette valeur est ensuite affichée dans JTextArea (displayOutput) dans l'interface graphique.
La méthode processInput dans GuiForUpdate est responsable de la modification du tableau. Il collecte la valeur et l'index saisis auprès de l'utilisateur et met à jour le tableau en conséquence.
L'implémentation d'ActionListener pour changeArrayButton gère l'événement de clic sur le bouton. Il ouvre une boîte de dialogue pour autoriser la saisie de l'utilisateur, traite l'entrée et déclenche la modification du tableau. La zone de texte displayOutput est ensuite mise à jour avec les valeurs du tableau modifiées.
En résumé, SwingPropertyChangeSupport fournit un mécanisme pour propager les modifications des modèles de données aux composants de l'interface graphique qui en dépendent, garantissant que l'interface graphique reste synchronisée avec le données sous-jacentes.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3