我已阅读 PropertyChange support 的文档和 EventListenerList .
根据我的理解,两者在保存 listeners
和在 event/propertyChange
发生时 notification
它们的目的相似。
是否只有在 GUI 应用程序
的情况下,EventListenerList
才变得方便?对于不使用 GUI 组件
的简单 JavaBean
应用程序,使用其中一个是否比另一个有优势。
最佳答案
一般来说,PropertyChangeEvent
发生在对象的某些属性值发生变化时(您可以读取的属性/值),其中(一般)事件可以描述任何类型的事件(例如选择或鼠标单击的变化),它不必代表对象状态的变化
PropertyChangeSupport
是 bean 框架的一部分(特别是但不限于)GUI 编辑器。这并不意味着您不能使用它,事实上,许多对象都依赖于此功能,例如 SwingWorker
和 SwingLabs 中的许多对象。
考虑到这一点,当您想要通知感兴趣的各方对象的属性/值发生变化时,您应该使用 ProperyChangeSupport
,当您想要提供一般信息时,您应该使用 EventListenerList
对象内发生的事情的事件通知(但不必与特定属性或状态相关)
我在 ProptertyChanegSupport
上遇到的唯一问题是,哪些属性已绑定(bind),哪些未绑定(bind),有时会导致难以开始使用新对象,而新对象相当容易查找所有“addListener”方法,但那只是我
虽然我确定 EventListenrerList
的初衷是用于 GUI,但我之前将它们用于非 GUI 工作,但您可能会发现使用 更容易List
如果你只支持一个监听器,只是说
关于java - propertyChange Support 与 EventListenerList 的差异以及何时更喜欢它们?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22310001/