如果我有一個java類,並且想要使用另一個類中的偵聽器,那麼我該怎麼做?舉例來說,如果我有兩個JFrames並在其中一人有一個按鈕,我能拿它做的東西在另一個類是否可以從java中的另一個類中導入偵聽器
0
A
回答
2
您可以創建一個類
public void addSomeButtonActionListener(ActionListener listener) {
someButton.addActionListener(listener);
}
一個公共方法,這將允許其他對象將偵聽器添加到您感興趣的按鈕。請注意,如果一個按鈕添加了多個偵聽器,則無法保證哪個按鈕會首先觸發或以任何觸發順序觸發。
或者,您可以使用所有Swing組件固有的PropertyListener支持,創建您自己的綁定屬性,並允許外部類將PropertyChangeListeners添加到感興趣的類,偵聽綁定屬性的更改。欲瞭解更多信息,請查看this tutorial。注意,如果你走這條路線,並且你的類擴展了一個Swing組件,那麼就不需要編寫你自己的addPropertyChangeListener(...)
或removePropertyChangeListener(...)
,因爲這些方法以及SwingPropertyChangeSupport字段已經是所有Swing組件的固有組件。如果你的類沒有擴展一個Swing組件,那麼是的,你需要編寫上面的方法,但你仍然可以使用你的一個GUI類的關鍵組件的SwingPropertyChangeSupport。
後一種解決方案是我喜歡的解決方案,但我發現我更經常地傾聽模型的約束屬性而不是我的視圖。
如果您需要更多的細節,請告訴我們更多關於您的代碼和問題。
相關問題
- 1. 單個Spring的KafkaConsumer偵聽器是否可以偵聽多個主題?
- 2. 如何在另一個類的活動中設置偵聽器?
- 3. 從一個單獨的類中的偵聽器中禁用JButton
- 4. 是否可以從Action偵聽器創建IObservable?
- 5. 檢查另一個web服務器是否正在偵聽asp
- 6. 在一個類中的Java動作偵聽器和圖像
- 7. 是否可以從另一個數據庫導入模塊?
- 8. angular2是否可以從另一個angular2項目導入組件?
- 9. Java - 通過NetBeans添加另一個類中按鈕的偵聽器
- 10. 是否可以對多個偵聽器進行回調?
- 11. 將一個事件偵聽器更改爲另一個事件偵聽器?
- 12. 從另一個類調用另一個類中的動作偵聽器的方法
- 13. 是否可以爲數組中的每個對象定義事件偵聽器?
- 14. 是否可以傳入Twisted偵聽的現有套接字?
- 15. 嵌套在另一個偵聽器中的Android Firebase值事件偵聽器以異常方式獲取數據
- 16. 是否可以將一個事件偵聽器添加到數字輸入框中的小按鈕?
- 17. 在javascript dom中,是否可以確定一個元素是否會偵聽事件類型?
- 18. 是否可以從一個線程發送http請求並在另一個線程上偵聽響應?
- 19. 是否可以在一個偵聽變化的變量上創建一個Annotation?
- 20. 處理中的類中是否可以有另一個循環?
- 21. Oracle AQ - 如何確定一個偵聽器是否正在偵聽隊列
- 22. 如何設置另一個類的偵聽器?
- 23. 如何讓Java從另一個包中加載導入的類?
- 24. 是否可以將長按偵聽器添加到CheckBoxPreference?
- 25. 是否可以聲明性地配置非全局偵聽器?
- 26. 是否可以使用PHP添加事件偵聽器?
- 27. 事件是否可以用作事件偵聽器?
- 28. 我可以從偵聽器中引用OnClickListener的按鈕嗎? (android)
- 29. 是否可以在Laravel的事件偵聽器中使用隊列?
- 30. 單個Spring的KafkaConsumer偵聽器可以偵聽來自同一個/一個分區的多條消息嗎?