/* * Copyright (c) 2005, the JUNG Project and the Regents of the University of * California All rights reserved. * * This software is open-source under the BSD license; see either "license.txt" * or http://jung.sourceforge.net/license.txt for a description. * * * Created on Apr 2, 2005 */ package edu.uci.ics.jung.visualization.picking; import java.awt.event.ItemEvent; import java.awt.event.ItemListener; import javax.swing.event.EventListenerList; /** * An abstract class to support ItemEvents for PickedState * * @author Tom Nelson */ public abstract class AbstractPickedState<T> implements PickedState<T> { protected EventListenerList listenerList = new EventListenerList(); public void addItemListener(ItemListener l) { listenerList.add(ItemListener.class, l); } public void removeItemListener(ItemListener l) { listenerList.remove(ItemListener.class, l); } protected void fireItemStateChanged(ItemEvent e) { Object[] listeners = listenerList.getListenerList(); for ( int i = listeners.length-2; i>=0; i-=2 ) { if ( listeners[i]==ItemListener.class ) { ((ItemListener)listeners[i+1]).itemStateChanged(e); } } } }