Java Platform 1.2

javax.swing
Class DefaultListSelectionModel

java.lang.Object
  |
  +--javax.swing.DefaultListSelectionModel

public class DefaultListSelectionModel
extends Object
implements ListSelectionModel, Cloneable, Serializable

Default data model for list selections.

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. A future release of Swing will provide support for long term persistence.

See Also:
ListSelectionModel, Serialized Form

Field Summary
protected  boolean leadAnchorNotificationEnabled
           
protected  EventListenerList listenerList
           
 
Constructor Summary
DefaultListSelectionModel()
           
 
Method Summary
 void addListSelectionListener(ListSelectionListener l)
           
 void addSelectionInterval(int index0, int index1)
           
 void clearSelection()
           
 Object clone()
          Returns a clone of the reciever with the same selection.
protected  void fireValueChanged(boolean isAdjusting)
          Notify listeners that we have ended a series of adjustments.
protected  void fireValueChanged(int firstIndex, int lastIndex)
          Notify ListSelectionListeners that the value of the selection, in the closed interval firstIndex,lastIndex, has changed.
protected  void fireValueChanged(int firstIndex, int lastIndex, boolean isAdjusting)
           
 int getAnchorSelectionIndex()
           
 int getLeadSelectionIndex()
           
 int getMaxSelectionIndex()
           
 int getMinSelectionIndex()
           
 int getSelectionMode()
           
 boolean getValueIsAdjusting()
           
 void insertIndexInterval(int index, int length, boolean before)
          Insert length indices beginning before/after index.
 boolean isLeadAnchorNotificationEnabled()
          Returns the value of the leadAnchorNotificationEnabled flag.
 boolean isSelectedIndex(int index)
           
 boolean isSelectionEmpty()
           
 void removeIndexInterval(int index0, int index1)
          Remove the indices in the interval index0,index1 (inclusive) from the selection model.
 void removeListSelectionListener(ListSelectionListener l)
           
 void removeSelectionInterval(int index0, int index1)
           
 void setAnchorSelectionIndex(int anchorIndex)
          Set the anchor selection index, leaving all selection values unchanged.
 void setLeadAnchorNotificationEnabled(boolean flag)
          Sets the value of the leadAnchorNotificationEnabled flag.
 void setLeadSelectionIndex(int leadIndex)
          Set the lead selection index, ensuring that values between the anchor and the new lead are either all selected or all deselected.
 void setSelectionInterval(int index0, int index1)
           
 void setSelectionMode(int selectionMode)
           
 void setValueIsAdjusting(boolean isAdjusting)
           
 String toString()
          Returns a string that displays and identifies this object's properties.
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

listenerList

protected EventListenerList listenerList

leadAnchorNotificationEnabled

protected boolean leadAnchorNotificationEnabled
Constructor Detail

DefaultListSelectionModel

public DefaultListSelectionModel()
Method Detail

getMinSelectionIndex

public int getMinSelectionIndex()
Specified by:
getMinSelectionIndex in interface ListSelectionModel

getMaxSelectionIndex

public int getMaxSelectionIndex()
Specified by:
getMaxSelectionIndex in interface ListSelectionModel

getValueIsAdjusting

public boolean getValueIsAdjusting()
Specified by:
getValueIsAdjusting in interface ListSelectionModel

getSelectionMode

public int getSelectionMode()
Specified by:
getSelectionMode in interface ListSelectionModel

setSelectionMode

public void setSelectionMode(int selectionMode)
Specified by:
setSelectionMode in interface ListSelectionModel

isSelectedIndex

public boolean isSelectedIndex(int index)
Specified by:
isSelectedIndex in interface ListSelectionModel

isSelectionEmpty

public boolean isSelectionEmpty()
Specified by:
isSelectionEmpty in interface ListSelectionModel

addListSelectionListener

public void addListSelectionListener(ListSelectionListener l)
Specified by:
addListSelectionListener in interface ListSelectionModel

removeListSelectionListener

public void removeListSelectionListener(ListSelectionListener l)
Specified by:
removeListSelectionListener in interface ListSelectionModel

fireValueChanged

protected void fireValueChanged(boolean isAdjusting)
Notify listeners that we have ended a series of adjustments.

fireValueChanged

protected void fireValueChanged(int firstIndex,
                                int lastIndex)
Notify ListSelectionListeners that the value of the selection, in the closed interval firstIndex,lastIndex, has changed.

fireValueChanged

protected void fireValueChanged(int firstIndex,
                                int lastIndex,
                                boolean isAdjusting)
Parameters:
firstIndex - The first index in the interval.
index1 - The last index in the interval.
isAdjusting - True if this is the final change in a series of them.
See Also:
EventListenerList

setLeadAnchorNotificationEnabled

public void setLeadAnchorNotificationEnabled(boolean flag)
Sets the value of the leadAnchorNotificationEnabled flag.
See Also:
isLeadAnchorNotificationEnabled()

isLeadAnchorNotificationEnabled

public boolean isLeadAnchorNotificationEnabled()
Returns the value of the leadAnchorNotificationEnabled flag. When leadAnchorNotificationEnabled is true the model generates notification events with bounds that cover all the changes to the selection plus the changes to the lead and anchor indices. Setting the flag to false causes a norrowing of the event's bounds to include only the elements that have been selected or deselected since the last change. Either way, the model continues to maintain the lead and anchor variables internally. The default is true.
Returns:
the value of the leadAnchorNotificationEnabled flag
See Also:
setLeadAnchorNotificationEnabled(boolean)

clearSelection

public void clearSelection()
Specified by:
clearSelection in interface ListSelectionModel

setSelectionInterval

public void setSelectionInterval(int index0,
                                 int index1)
Specified by:
setSelectionInterval in interface ListSelectionModel

addSelectionInterval

public void addSelectionInterval(int index0,
                                 int index1)
Specified by:
addSelectionInterval in interface ListSelectionModel

removeSelectionInterval

public void removeSelectionInterval(int index0,
                                    int index1)
Specified by:
removeSelectionInterval in interface ListSelectionModel

insertIndexInterval

public void insertIndexInterval(int index,
                                int length,
                                boolean before)
Insert length indices beginning before/after index. If the value at index is itself selected, set all of the newly inserted items, otherwise leave them unselected. This method is typically called to sync the selection model with a corresponding change in the data model.
Specified by:
insertIndexInterval in interface ListSelectionModel

removeIndexInterval

public void removeIndexInterval(int index0,
                                int index1)
Remove the indices in the interval index0,index1 (inclusive) from the selection model. This is typically called to sync the selection model width a corresponding change in the data model. Note that (as always) index0 need not be <= index1.
Specified by:
removeIndexInterval in interface ListSelectionModel

setValueIsAdjusting

public void setValueIsAdjusting(boolean isAdjusting)
Specified by:
setValueIsAdjusting in interface ListSelectionModel

toString

public String toString()
Returns a string that displays and identifies this object's properties.
Returns:
a String representation of this object
Overrides:
toString in class Object

clone

public Object clone()
             throws CloneNotSupportedException
Returns a clone of the reciever with the same selection. listenerLists are not duplicated.
Throws:
CloneNotSupportedException - if the receiver does not both (a) implement the Cloneable interface and (b) define a clone method.
Overrides:
clone in class Object

getAnchorSelectionIndex

public int getAnchorSelectionIndex()
Specified by:
getAnchorSelectionIndex in interface ListSelectionModel

getLeadSelectionIndex

public int getLeadSelectionIndex()
Specified by:
getLeadSelectionIndex in interface ListSelectionModel

setAnchorSelectionIndex

public void setAnchorSelectionIndex(int anchorIndex)
Set the anchor selection index, leaving all selection values unchanged. If leadAnchorNotificationEnabled is true, send a notification covering the old and new anchor cells.
Specified by:
setAnchorSelectionIndex in interface ListSelectionModel
See Also:
getAnchorSelectionIndex(), setLeadSelectionIndex(int)

setLeadSelectionIndex

public void setLeadSelectionIndex(int leadIndex)
Set the lead selection index, ensuring that values between the anchor and the new lead are either all selected or all deselected. If the value at the anchor index is selected, first clear all the values in the range [anchor, oldLeadIndex], then select all the values values in the range [anchor, newLeadIndex], where oldLeadIndex is the old leadIndex and newLeadIndex is the new one.

If the value at the anchor index is not selected, do the same thing in reverse, selecting values in the old range and deslecting values in the new one.

Generate a single event for this change and notify all listeners. For the purposes of generating minimal bounds in this event, do the operation in a single pass; that way the first and last index inside the ListSelectionEvent that is broadcast will refer to cells that actually changed value because of this method. If, instead, this operation were done in two steps the effect on the selection state would be the same but two events would be generated and the bounds around the changed values would be wider, including cells that had been first cleared only to later be set.

This method can be used in the mouseDragged() method of a UI class to extend a selection.

Specified by:
setLeadSelectionIndex in interface ListSelectionModel
See Also:
getLeadSelectionIndex(), setAnchorSelectionIndex(int)

Java Platform 1.2

Submit a bug or feature Version 1.2 of Java Platform API Specification
Java is a trademark or registered trademark of Sun Microsystems, Inc. in the US and other countries.
Copyright 1993-1998 Sun Microsystems, Inc. 901 San Antonio Road,
Palo Alto, California, 94303, U.S.A. All Rights Reserved.