FileDocCategorySizeDatePackage
DefaultSingleSelectionModel.javaAPI DocJava SE 5 API5251Fri Aug 26 14:57:54 BST 2005javax.swing

DefaultSingleSelectionModel

public class DefaultSingleSelectionModel extends Object implements Serializable, SingleSelectionModel
A generic implementation of SingleSelectionModel.

Warning: Serialized objects of this class will not be compatible with future Swing releases. The current serialization support is appropriate for short term storage or RMI between applications running the same version of Swing. As of 1.4, support for long term storage of all JavaBeansTM has been added to the java.beans package. Please see {@link java.beans.XMLEncoder}.

version
1.35 05/05/04
author
Dave Moore

Fields Summary
protected transient ChangeEvent
changeEvent
protected EventListenerList
listenerList
The collection of registered listeners
private int
index
Constructors Summary
Methods Summary
public voidaddChangeListener(javax.swing.event.ChangeListener l)
Adds a ChangeListener to the button.

	listenerList.add(ChangeListener.class, l);
    
public voidclearSelection()

        setSelectedIndex(-1);
    
protected voidfireStateChanged()
Notifies all listeners that have registered interest for notification on this event type. The event instance is created lazily.

see
EventListenerList

	// Guaranteed to return a non-null array
	Object[] listeners = listenerList.getListenerList();
	// Process the listeners last to first, notifying
	// those that are interested in this event
	for (int i = listeners.length-2; i>=0; i-=2) {
	    if (listeners[i]==ChangeListener.class) {
		// Lazily create the event:
		if (changeEvent == null)
		    changeEvent = new ChangeEvent(this);
		((ChangeListener)listeners[i+1]).stateChanged(changeEvent);
	    }	       
	}
    
public javax.swing.event.ChangeListener[]getChangeListeners()
Returns an array of all the change listeners registered on this DefaultSingleSelectionModel.

return
all of this model's ChangeListeners or an empty array if no change listeners are currently registered
see
#addChangeListener
see
#removeChangeListener
since
1.4

        return (ChangeListener[])listenerList.getListeners(
                ChangeListener.class);
    
public T[]getListeners(java.lang.Class listenerType)
Returns an array of all the objects currently registered as FooListeners upon this model. FooListeners are registered using the addFooListener method.

You can specify the listenerType argument with a class literal, such as FooListener.class. For example, you can query a DefaultSingleSelectionModel instance m for its change listeners with the following code:

ChangeListener[] cls = (ChangeListener[])(m.getListeners(ChangeListener.class));
If no such listeners exist, this method returns an empty array.

param
listenerType the type of listeners requested; this parameter should specify an interface that descends from java.util.EventListener
return
an array of all objects registered as FooListeners on this model, or an empty array if no such listeners have been added
exception
ClassCastException if listenerType doesn't specify a class or interface that implements java.util.EventListener
see
#getChangeListeners
since
1.3

 
	return listenerList.getListeners(listenerType); 
    
public intgetSelectedIndex()


    // implements javax.swing.SingleSelectionModel
       
        return index;
    
public booleanisSelected()

	boolean ret = false;
	if (getSelectedIndex() != -1) {
	    ret = true;
	}
	return ret;
    
public voidremoveChangeListener(javax.swing.event.ChangeListener l)
Removes a ChangeListener from the button.

	listenerList.remove(ChangeListener.class, l);
    
public voidsetSelectedIndex(int index)

        if (this.index != index) {
            this.index = index;
	    fireStateChanged();
        }