非GUI应用程序中的javax.swing.event.EventListenerList

时间:2013-05-27 14:21:35

标签: java events listener

javax.swing.event.EventListenerList中使用non-GUI applications是个好主意吗?我想使用它,但它是Swing的一部分,我的应用程序没有GUI元素。所以,我不想使用classes中的javax.swing(原则上)。我应该使用EventListenerList,或者我应该复制/编写我自己对EventListenerList的认识吗?

2 个答案:

答案 0 :(得分:0)

Java有几个EventListener。应该使用哪一个取决于抛出的事件。如果您没有GUI,javax.swing的听众似乎不是正确的。请查看Oracles Writing Event Listeners Tutorial

答案 1 :(得分:0)

我认为没有理由不使用 EventListenerList

关键点:

  1. 它的设计目的是做你想要的,所以没有必要重新发明轮子。
  2. 它与任何Swing相关的东西没有任何依赖性(除了在包“javax.swing”中)。它不会导入/需要/使用Swing包中的任何组件或类,因此非GUI应用程序不会产生任何开销。
  3. 目标是 EventListeners (根本不是特定于Swing的)并且它是“轻量级的”。
    引用 Java docs
    “......一个包含EventListeners列表的类......” “...这个类提供的主要好处是,在没有监听器的情况下它相对便宜,并且它在一个地方提供事件监听器列表的序列化,以及一定程度的MT安全性(正确使用时) )......“
  4. 结论:

    似乎没有理由让非GUI应用程序不使用此类。 :)