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() 方法,該方法會通知已註冊的監聽器有關屬性變更的資訊。 在使用部分,我們在 observable 類別中新增一個 PropertyChangeListener 並監聽更改到名稱屬性。當呼叫 setName() 方法並且屬性值發生變化時,監聽器會收到通知並呼叫 propertyChange() 方法,我們可以在其中執行自訂操作以回應屬性變更。
以上是如何實作SwingPropertyChangeSupport進行屬性變化觀察?的詳細內容。更多資訊請關注PHP中文網其他相關文章!