2012-04-22 25 views

回答

2

您可以創建一個類

public void addSomeButtonActionListener(ActionListener listener) { 
    someButton.addActionListener(listener); 
} 

一個公共方法,這將允許其他對象將偵聽器添加到您感興趣的按鈕。請注意,如果一個按鈕添加了多個偵聽器,則無法保證哪個按鈕會首先觸發或以任何觸發順序觸發。

或者,您可以使用所有Swing組件固有的PropertyListener支持,創建您自己的綁定屬性,並允許外部類將PropertyChangeListeners添加到感興趣的類,偵聽綁定屬性的更改。欲瞭解更多信息,請查看this tutorial。注意,如果你走這條路線,並且你的類擴展了一個Swing組件,那麼就不需要編寫你自己的addPropertyChangeListener(...)removePropertyChangeListener(...),因爲這些方法以及SwingPropertyChangeSupport字段已經是所有Swing組件的固有組件。如果你的類沒有擴展一個Swing組件,那麼是的,你需要編寫上面的方法,但你仍然可以使用你的一個GUI類的關鍵組件的SwingPropertyChangeSupport。

後一種解決方案是我喜歡的解決方案,但我發現我更經常地傾聽模型的約束屬性而不是我的視圖。

如果您需要更多的細節,請告訴我們更多關於您的代碼和問題。

相關問題