EventListenerList优于使用Vector

A S*_*ger 1 java swing vector eventlistenerlist

使用EventListnerList而不是Vector有什么好处?哪个更优选?

Mad*_*mer 5

  • Vector是伪"弃用",有利于集合API List.
  • A List可以无限制地包含您想要的任何内容
  • 虽然可以在a中支持多个不同的监听器List,但它的管理会很复杂,因为每次要查找给定类型的监听器时都需要遍历列表.你会更好地使用某种东西Map,但是,你会复制什么EventListenerList...
  • EventListenerList将允许您管理多种不同类型的EventListeners,但仅限于管理实现该EventListener接口的类
  • Swing组件揭露listenerList这是一个实例EventListenerList作为一个protected领域,所以你并不需要创建自己的

所以,我建议,你可以使用EventListenerListener......

  • 您正在从基于Swing的组件扩展,因为它更简单并且已经可用...
  • 管理多种不同类型的侦听器
  • 当你的听众实施时 EventListener

您可以考虑使用List何时......

  • 你只需要处理一种类型的监听器和
  • 您尚未从基于Swing的组件扩展...因为它提供了对EventListenerList任何方式的访问...