ホームページ  >  記事  >  Java  >  プロパティ変更監視のために SwingPropertyChangeSupport を実装するにはどうすればよいですか?

プロパティ変更監視のために SwingPropertyChangeSupport を実装するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-11-06 09:06:02379ブラウズ

How to Implement SwingPropertyChangeSupport for Property Change Observation?

SwingPropertyChangeSupport の実装

SwingPropertyChangeSupport を実装し、アプリケーション内のプロパティの変更を監視するには、次を参照できます。例:

例:

<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>

この例では、観察したいプロパティ (名前) を持つクラス (MyObservableClass) があります。 SwingPropertyChangeSupport を使用して、name プロパティの変更についてリスナーに通知します。 setName() メソッドが呼び出されると、firePropertyChange() メソッドがトリガーされ、登録されたリスナーにプロパティの変更が通知されます。

使用法セクションでは、PropertyChangeListener を監視可能なクラスに追加し、変更をリッスンします。 name プロパティに。 setName() メソッドが呼び出され、プロパティ値が変更されると、リスナーに通知され、propertyChange() メソッドが呼び出され、プロパティの変更に応じてカスタム アクションを実行できます。

以上がプロパティ変更監視のために SwingPropertyChangeSupport を実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。