EventListenerList优于使用Vector

时间:2014-09-23 05:27:08

标签: java swing vector eventlistenerlist

在Vector上使用EventListnerList有什么好处?哪个更优选?

1 个答案:

答案 0 :(得分:5)

  • Vector伪“已弃用”,支持集合API List
  • List可以包含您无限制的任何内容
  • 虽然可以在List内支持多个不同的侦听器,但它的管理会很复杂,因为每次想要查找给定类型的侦听器时都需要遍历列表。你最好使用某种Map,但是,你会复制EventListenerList所做的......
  • EventListenerList将允许您管理多种不同类型的EventListener,但仅限于管理实现EventListener接口的类
  • Swing组件将listenerList EventListenerList的实例公开为protected字段,因此您无需创建自己的

所以,我建议你在......时使用EventListenerListener

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

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

  • 您只需要处理一种类型的监听器和
  • 您尚未从基于Swing的组件进行扩展...因为它可以任意方式访问EventListenerList ...