将每个EventListener添加到给定的JComponent

时间:2016-05-19 22:31:17

标签: jcomponent listeners

我正在创建一个JComponentFactory,其子类是JLabelFactory。 JLabelFactory中有一个create(Set listeners)方法,它应该做的是使用给定的方法(如下)将集合中的每个侦听器添加到创建的JLabel中。我可以这样做:

protected boolean addSpecificListeners(JLabel label, Set<EventListener> listeners) {
    for(EventListener e: listeners){
        if(e instanceof MouseMotionListener){
            label.addMouseMotionListener((MouseMotionListener)e);
        }
        else if(e instanceof MouseWheelListener){
            label.addMouseWheelListener((MouseWheelListener)e);
        }
        else if....
    }
}

对我来说,这似乎不是一个聪明的方法。特别是因为我必须为EVER JComponent转到所有可能的Listener类型,我想添加监听器。有更聪明的方法吗?

0 个答案:

没有答案