Maison >Java >javaDidacticiel >Comment le modèle Observer peut-il rediriger le flux de données entre les composants Java Swing ?

Comment le modèle Observer peut-il rediriger le flux de données entre les composants Java Swing ?

Patricia Arquette
Patricia Arquetteoriginal
2024-11-29 18:22:11490parcourir

How Can the Observer Pattern Redirect Data Flow Between Java Swing Components?

Connexion des composants du volet pour le flux de données

Dans la classe Main fournie, le composant PaneWithList contient une JList qui répond aux modifications de ligne sélectionnées en affichant la sélection à la console. Pour rediriger cette sortie vers le JTextPane dans l'onglet de sortie, nous pouvons utiliser le modèle d'observateur.

Modèle d'observateur et PropertyChangeListener

Le modèle d'observateur autorise un objet (l'observateur ) pour réagir aux changements d'un autre objet (l'observable). Dans ce cas, un ObserverPanel agit en tant qu'observateur, surveillant l'ObservablePanel (PaneWithList) pour les modifications de propriété.

PropertyChangeSupport

Pour activer les événements de changement de propriété, l'ObservablePanel utilise Java. Classe PropertyChangeSupport. Cette classe permet aux auditeurs enregistrés de recevoir des notifications lorsque la valeur d'une propriété spécifiée change.

Dans l'exemple de code fourni, l'ObserverPanel s'enregistre en tant que PropertyChangeListener pour l'ObservablePanel. Plus précisément, il écoute les modifications dans la propriété PHYSICIST, qui représente l'élément sélectionné dans la zone de liste déroulante de l'ObservablePanel.

Mises à jour de la propriété

Lorsqu'un changement de sélection se produit dans l'ObservablePanel, la zone de liste déroulante déclenche un ActionEvent, déclenchant l'écouteur de changement de propriété dans l'ObservablePanel. Cet écouteur met ensuite à jour l'étiquette dans l'ObserverPanel avec la valeur nouvellement sélectionnée.

Aperçu de l'implémentation

L'ObserverPanel affiche une étiquette qui indique initialement « null ». Lorsqu'une sélection est effectuée dans l'ObservablePanel, l'auditeur reçoit la notification de changement de propriété et met à jour l'étiquette avec la valeur de l'élément sélectionné.

Cette approche redirige efficacement la sortie de l'ObservablePanel vers l'ObservablePanel, vous permettant de afficher la ligne sélectionnée dans le JTextPane de l'onglet de sortie.

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