Maison > Java > javaDidacticiel > le corps du texte

Comment implémenter SwingPropertyChangeSupport pour l'observation des changements de propriété ?

Linda Hamilton
Libérer: 2024-11-06 09:06:02
original
307 Les gens l'ont consulté

How to Implement SwingPropertyChangeSupport for Property Change Observation?

Implémentation de SwingPropertyChangeSupport

Pour implémenter SwingPropertyChangeSupport et observer les changements de propriétés dans votre application, vous pouvez vous référer à l'exemple suivant :

Exemple :

<code class="java">import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import javax.swing.event.SwingPropertyChangeSupport;

public class MyObservableClass {

    private SwingPropertyChangeSupport propertyChangeSupport = new SwingPropertyChangeSupport(this);
    private String name; // A property we want to observe

    public void setName(String newName) {
        String oldValue = this.name;
        this.name = newName;
        propertyChangeSupport.firePropertyChange("name", oldValue, newName);
    }

    public String getName() {
        return name;
    }

    public void addPropertyChangeListener(PropertyChangeListener listener) {
        propertyChangeSupport.addPropertyChangeListener(listener);
    }

    public void removePropertyChangeListener(PropertyChangeListener listener) {
        propertyChangeSupport.removePropertyChangeListener(listener);
    }
}

// Example Usage
MyObservableClass observableClass = new MyObservableClass();
PropertyChangeListener listener = new PropertyChangeListener() {
    @Override
    public void propertyChange(PropertyChangeEvent evt) {
        if (evt.getPropertyName().equals("name")) {
            System.out.println("Name changed to: " + evt.getNewValue());
        }
    }
};
observableClass.addPropertyChangeListener(listener);
observableClass.setName("New Name"); // This will trigger the listener</code>
Copier après la connexion

Dans cet exemple, nous avons une classe (MyObservableClass) avec une propriété (nom) que nous voulons observer. Nous utilisons SwingPropertyChangeSupport pour informer les auditeurs des modifications apportées à la propriété name. Lorsque la méthode setName() est appelée, elle déclenche la méthode firePropertyChange(), qui informe les auditeurs enregistrés du changement de propriété.

Dans la section utilisation, nous ajoutons un PropertyChangeListener à la classe observable et écoutons les changements. à la propriété du nom. Lorsque la méthode setName() est appelée et que la valeur de la propriété change, l'écouteur est averti et la méthode propertyChange() est invoquée, où nous pouvons effectuer des actions personnalisées en réponse au changement de propriété.

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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!