javax.swing
Class JList

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JList
All Implemented Interfaces:
ImageObserver, MenuContainer, Serializable, Accessible, Scrollable

public class JList
extends JComponent
implements Accessible, Scrollable

This class is a facade over three separate objects: ListModel, ListSelectionModel and ListUI. The facade represents a unified "list" concept, with independently replacable (possibly client-provided) models for its contents and its current selection. In addition, each element in the list is rendered via a strategy class ListCellRenderer.

Lists have many properties, some of which are stored in this class while others are delegated to the list's model or selection. The following properties are available:

Property Stored inBound?
accessibleContext list no
anchorSelectionIndex selectionno
cellRenderer list yes
dragEnabled list no
firstVisibleIndex list no
fixedCellHeight list yes
fixedCellWidth list yes
lastVisibleIndex list no
layoutOrientation list yes
leadSelectionIndex selectionno
maxSelectionIndex selectionno
minSelectionIndex selectionno
model list yes
opaque list no
preferredScrollableViewportSizelist no
prototypeCellValue list yes
scrollableTracksViewportHeight list no
scrollableTracksViewportWidth list no
selectedIndex selectionno
selectedIndices selectionno
selectedValue model no
selectedValues model no
selectionBackground list yes
selectionEmpty selectionno
selectionForeground list yes
selectionMode selectionno
selectionModel list yes
UI list yes
UIClassID list no
valueIsAdjusting list no
visibleRowCount list no

See Also:
Serialized Form

Nested Class Summary
protected  class JList.AccessibleJList
          Provides accessibility support for JList.
 
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
Field Summary
static int HORIZONTAL_WRAP
          Constant value used in "layoutOrientation" property.
static int VERTICAL
          Constant value used in "layoutOrientation" property.
static int VERTICAL_WRAP
          Constant value used in "layoutOrientation" property.
 
Fields inherited from class javax.swing.JComponent
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
JList()
          Creates a new JList object.
JList(ListModel model)
          Creates a new JList object.
JList(Object[] items)
          Creates a new JList object.
JList(Vector<?> items)
          Creates a new JList object.
 
Method Summary
 void addListSelectionListener(ListSelectionListener listener)
          Adds a ListSelectionListener to the listener list for this list.
 void addSelectionInterval(int anchor, int lead)
          Adds the specified interval to the current selection.
 void clearSelection()
          Clears the current selection.
protected  ListSelectionModel createSelectionModel()
          Creates the default ListSelectionModel.
 void ensureIndexIsVisible(int i)
          Scrolls this list to make the specified cell visible.
protected  void fireSelectionValueChanged(int firstIndex, int lastIndex, boolean isAdjusting)
          Fire a ListSelectionEvent to all the registered ListSelectionListeners.
 AccessibleContext getAccessibleContext()
          Get the value of the accessibleContext property for this component.
 int getAnchorSelectionIndex()
          Returns the index of the anchor item in the current selection, or -1 if there is no anchor item.
 Rectangle getCellBounds(int index0, int index1)
          Returns the bounds of the rectangle that encloses both list cells with index0 and index1.
 ListCellRenderer getCellRenderer()
          Gets the value of the cellRenderer property.
 boolean getDragEnabled()
          Return the value of the dragEnabled property.
 int getFirstVisibleIndex()
          Returns the list index of the upper left or upper right corner of the visible rectangle of this list, depending on the Component.getComponentOrientation() property.
 int getFixedCellHeight()
          Gets the value of the fixedCellHeight property.
 int getFixedCellWidth()
          Gets the value of the fixedCellWidth property.
 int getLastVisibleIndex()
          Returns the list index of the lower right or lower left corner of the visible rectangle of this list, depending on the Component.getComponentOrientation() property.
 int getLayoutOrientation()
          Returns the layout orientation, which will be one of VERTICAL, VERTICAL_WRAP and HORIZONTAL_WRAP.
 int getLeadSelectionIndex()
          Returns the index of the lead item in the current selection, or -1 if there is no lead item.
 ListSelectionListener[] getListSelectionListeners()
          Returns an array of all ListSelectionListeners subscribed to this list.
 int getMaxSelectionIndex()
          Returns the highest item index in the current selection, or -1 if there is no selection.
 int getMinSelectionIndex()
          Returns the lowest item index in the current selection, or -1 if there is no selection.
 ListModel getModel()
          Gets the value of the model property.
 int getNextMatch(String prefix, int startIndex, Position.Bias direction)
          Returns the index of the next list element (beginning at startIndex and moving in the specified direction through the list, looping around if necessary) that starts with prefix (ignoring case).
 Dimension getPreferredScrollableViewportSize()
          Returns a size indicating how much space this list would like to consume, when contained in a scrollable viewport.
 Object getPrototypeCellValue()
          Returns the current value of the prototypeCellValue property.
 int getScrollableBlockIncrement(Rectangle visibleRect, int orientation, int direction)
          Return the number of pixels the list must scroll in order to move a "block" of the list into the provided visible rectangle.
 boolean getScrollableTracksViewportHeight()
          Gets the value of the scrollableTracksViewportWidth property.
 boolean getScrollableTracksViewportWidth()
          Gets the value of the scrollableTracksViewportWidth property.
 int getScrollableUnitIncrement(Rectangle visibleRect, int orientation, int direction)
          Return the number of pixels the list must scroll in order to move a "unit" of the list into the provided visible rectangle.
 int getSelectedIndex()
          Returns the minimum index of an element in the list which is currently selected.
 int[] getSelectedIndices()
          Returns the indices of values in the model property which are selected.
 Object getSelectedValue()
          Returns the first value in the list's model property which is selected, according to the list's selectionModel property.
 Object[] getSelectedValues()
          Returns all the values in the list's model property which are selected, according to the list's selectionModel property.
 Color getSelectionBackground()
          Gets the value of the selectionBackground property.
 Color getSelectionForeground()
          Gets the value of the selectionForeground property.
 int getSelectionMode()
          Returns the selection mode for the list (one of: ListSelectionModel.SINGLE_SELECTION, ListSelectionModel.SINGLE_INTERVAL_SELECTION and ListSelectionModel.MULTIPLE_INTERVAL_SELECTION).
 ListSelectionModel getSelectionModel()
          Returns the selection model for the JList.AccessibleJList component.
 ListUI getUI()
          Gets the value of the UI property.
 String getUIClassID()
          Return the class identifier for the list's UI property.
 boolean getValueIsAdjusting()
          Returns the valueIsAdjusting flag from the list's selection model.
 int getVisibleRowCount()
          Gets the value of the visibleRowCount property.
 Point indexToLocation(int index)
          Returns location of the cell located at the specified index in the list.
 boolean isSelectedIndex(int a)
          Indicates whether the list element at a given index value is currently selected.
 boolean isSelectionEmpty()
          Returns true if the model's selection is empty, otherwise false.
 int locationToIndex(Point location)
          Returns index of the cell to which specified location is closest to.
protected  String paramString()
          Returns a string describing the attributes for the JList component, for use in debugging.
 void removeListSelectionListener(ListSelectionListener listener)
          Removes a ListSelectionListener from the listener list for this list.
 void removeSelectionInterval(int index0, int index1)
          Removes the specified interval from the current selection.
 void setCellRenderer(ListCellRenderer renderer)
          Sets the value of the getCellRenderer() property.
 void setDragEnabled(boolean enabled)
          Set the dragEnabled property.
 void setFixedCellHeight(int h)
          Sets the value of the fixedCellHeight property.
 void setFixedCellWidth(int w)
          Sets the value of the fixedCellWidth property.
 void setLayoutOrientation(int orientation)
          Sets the layout orientation (this is a bound property with the name 'layoutOrientation').
 void setListData(Object[] listData)
          Sets the model property of the list to a new anonymous AbstractListModel subclass which accesses the provided Object array directly.
 void setListData(Vector<?> listData)
          Sets the model property of the list to a new anonymous AbstractListModel subclass which accesses the provided vector directly.
 void setModel(ListModel model)
          Sets the value of the model property.
 void setPrototypeCellValue(Object obj)
          Set the prototypeCellValue property.
 void setSelectedIndex(int a)
          Adds the interval [a,a] to the set of selections managed by this list's selectionModel property.
 void setSelectedIndices(int[] a)
          For each element a[i] of the provided array a, calls setSelectedIndex(int) on a[i].
 void setSelectedValue(Object obj, boolean scroll)
          Sets the selection to cover only the specified value, if it exists in the model.
 void setSelectionBackground(Color c)
          Sets the value of the selectionBackground property.
 void setSelectionForeground(Color c)
          Sets the value of the selectionForeground property.
 void setSelectionInterval(int anchor, int lead)
          Sets the current selection to the items in the specified range (inclusive).
 void setSelectionMode(int a)
          Sets the list's "selectionMode" property, which simply mirrors the same property on the list's selectionModel property.
 void setSelectionModel(ListSelectionModel model)
          Sets the value of the selectionModel property.
 void setUI(ListUI ui)
          Sets the value of the UI property.
 void setValueIsAdjusting(boolean isAdjusting)
          Sets the valueIsAdjusting flag in the list's selection model.
 void setVisibleRowCount(int vc)
          Sets the value of the visibleRowCount property.
 void updateUI()
          Calls setUI(javax.swing.plaf.ListUI) with the ListUI subclass returned from calling UIManager.getUI(javax.swing.JComponent).
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setNextFocusableComponent, setOpaque, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setMinimumSize, setName, setPreferredSize, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

VERTICAL

public static final int VERTICAL
Constant value used in "layoutOrientation" property. This value means that cells are laid out in a single vertical column. This is the default.

See Also:
Constant Field Values

VERTICAL_WRAP

public static final int VERTICAL_WRAP
Constant value used in "layoutOrientation" property. This value means that cells are laid out in multiple columns "newspaper style", filling vertically first, then horizontally.

See Also:
Constant Field Values

HORIZONTAL_WRAP

public static final int HORIZONTAL_WRAP
Constant value used in "layoutOrientation" property. This value means that cells are laid out in multiple columns "newspaper style", filling horizontally first, then vertically.

See Also:
Constant Field Values
Constructor Detail

JList

public JList()
Creates a new JList object.


JList

public JList(Object[] items)
Creates a new JList object.

Parameters:
items - the initial list items.

JList

public JList(Vector<?> items)
Creates a new JList object.

Parameters:
items - the initial list items.

JList

public JList(ListModel model)
Creates a new JList object.

Parameters:
model - a model containing the list items (null not permitted).
Throws:
IllegalArgumentException - if model is null.
Method Detail

fireSelectionValueChanged

protected void fireSelectionValueChanged(int firstIndex,
                                         int lastIndex,
                                         boolean isAdjusting)
Fire a ListSelectionEvent to all the registered ListSelectionListeners.

Parameters:
firstIndex - the lowest index covering the selection change.
lastIndex - the highest index covering the selection change.
isAdjusting - a flag indicating if this event is one in a series of events updating the selection.

createSelectionModel

protected ListSelectionModel createSelectionModel()
Creates the default ListSelectionModel.

Returns:
the ListSelectionModel

getFixedCellHeight

public int getFixedCellHeight()
Gets the value of the fixedCellHeight property. This property may be -1 to indicate that no cell height has been set. This property is also set implicitly when the prototypeCellValue property is set.

Returns:
The current value of the property
See Also:
fixedCellHeight, setFixedCellHeight(int), setPrototypeCellValue(java.lang.Object)

setFixedCellHeight

public void setFixedCellHeight(int h)
Sets the value of the fixedCellHeight property. This property may be -1 to indicate that no cell height has been set. This property is also set implicitly when the prototypeCellValue property is set, but setting it explicitly overrides the height computed from prototypeCellValue.

Parameters:
h - the height.
See Also:
getFixedCellHeight(), getPrototypeCellValue()

getFixedCellWidth

public int getFixedCellWidth()
Gets the value of the fixedCellWidth property. This property may be -1 to indicate that no cell width has been set. This property is also set implicitly when the prototypeCellValue property is set.

Returns:
The current value of the property
See Also:
setFixedCellWidth(int), setPrototypeCellValue(java.lang.Object)

setFixedCellWidth

public void setFixedCellWidth(int w)
Sets the value of the fixedCellWidth property. This property may be -1 to indicate that no cell width has been set. This property is also set implicitly when the prototypeCellValue property is set, but setting it explicitly overrides the width computed from prototypeCellValue.

Parameters:
w - the width.
See Also:
getFixedCellHeight(), getPrototypeCellValue()

getVisibleRowCount

public int getVisibleRowCount()
Gets the value of the visibleRowCount property. The default value is 8.

Returns:
the current value of the property.
See Also:
setVisibleRowCount(int)

setVisibleRowCount

public void setVisibleRowCount(int vc)
Sets the value of the visibleRowCount property.

Parameters:
vc - The new property value
See Also:
getVisibleRowCount()

addListSelectionListener

public void addListSelectionListener(ListSelectionListener listener)
Adds a ListSelectionListener to the listener list for this list. The listener will be called back with a ListSelectionEvent any time the list's selectionModel property changes. The source of such events will be the JList, not the selection model.

Parameters:
listener - The new listener to add

removeListSelectionListener

public void removeListSelectionListener(ListSelectionListener listener)
Removes a ListSelectionListener from the listener list for this list. The listener will no longer be called when the list's selectionModel changes.

Parameters:
listener - The listener to remove

getListSelectionListeners

public ListSelectionListener[] getListSelectionListeners()
Returns an array of all ListSelectionListeners subscribed to this list.

Returns:
The current subscribed listeners
Since:
1.4

getSelectionMode

public int getSelectionMode()
Returns the selection mode for the list (one of: ListSelectionModel.SINGLE_SELECTION, ListSelectionModel.SINGLE_INTERVAL_SELECTION and ListSelectionModel.MULTIPLE_INTERVAL_SELECTION).

Returns:
The selection mode.
See Also:
setSelectionMode(int)

setSelectionMode

public void setSelectionMode(int a)
Sets the list's "selectionMode" property, which simply mirrors the same property on the list's selectionModel property. This property should be one of the integer constants SINGLE_SELECTION, SINGLE_INTERVAL_SELECTION, or MULTIPLE_INTERVAL_SELECTION from the ListSelectionModel interface.

Parameters:
a - The new selection mode

setSelectedIndex

public void setSelectedIndex(int a)
Adds the interval [a,a] to the set of selections managed by this list's selectionModel property. Depending on the selection mode, this may cause existing selections to become invalid, or may simply expand the set of selections.

Parameters:
a - A number in the half-open range [0, x) where x = getModel.getSize(), indicating the index of an element in the list to select. When < 0 the selection is cleared.
See Also:
setSelectionMode(int), selectionModel

setSelectedIndices

public void setSelectedIndices(int[] a)
For each element a[i] of the provided array a, calls setSelectedIndex(int) on a[i].

Parameters:
a - an array of selected indices (null not permitted).
Throws:
NullPointerException - if a is null.
See Also:
setSelectionMode(int), selectionModel

getSelectedIndex

public int getSelectedIndex()
Returns the minimum index of an element in the list which is currently selected.

Returns:
A number in the half-open range [0, x) where x = getModel.getSize(), indicating the minimum index of an element in the list for which the element is selected, or -1 if no elements are selected

isSelectionEmpty

public boolean isSelectionEmpty()
Returns true if the model's selection is empty, otherwise false.

Returns:
The return value of ListSelectionModel.isSelectionEmpty()

getFirstVisibleIndex

public int getFirstVisibleIndex()
Returns the list index of the upper left or upper right corner of the visible rectangle of this list, depending on the Component.getComponentOrientation() property.

Returns:
The index of the first visible list cell, or -1 if none is visible.

locationToIndex

public int locationToIndex(Point location)
Returns index of the cell to which specified location is closest to. If the location is outside the bounds of the list, then the greatest index in the list model is returned. If the list model is empty, then -1 is returned.

Parameters:
location - for which to look for in the list
Returns:
index of the cell to which specified location is closest to.

indexToLocation

public Point indexToLocation(int index)
Returns location of the cell located at the specified index in the list.

Parameters:
index - of the cell for which location will be determined
Returns:
location of the cell located at the specified index in the list.

getLastVisibleIndex

public int getLastVisibleIndex()
Returns the list index of the lower right or lower left corner of the visible rectangle of this list, depending on the Component.getComponentOrientation() property.

Returns:
The index of the last visible list cell, or -1 if none is visible.

getSelectedIndices

public int[] getSelectedIndices()
Returns the indices of values in the model property which are selected.

Returns:
An array of model indices, each of which is selected according to the getSelectedValues() property

isSelectedIndex

public boolean isSelectedIndex(int a)
Indicates whether the list element at a given index value is currently selected.

Parameters:
a - The index to check
Returns:
true if a is the index of a selected list element

getSelectedValue

public Object getSelectedValue()
Returns the first value in the list's model property which is selected, according to the list's selectionModel property. This is equivalent to calling getModel()getElementAt(getSelectedIndex()), with a check for the special index value of -1 which returns null null.

Returns:
The first selected element, or null if no element is selected.
See Also:
getSelectedValues()

getSelectedValues

public Object[] getSelectedValues()
Returns all the values in the list's model property which are selected, according to the list's selectionModel property.

Returns:
An array containing all the selected values
See Also:
setSelectedValue(java.lang.Object, boolean)

getSelectionBackground

public Color getSelectionBackground()
Gets the value of the selectionBackground property.

Returns:
The current value of the property

setSelectionBackground

public void setSelectionBackground(Color c)
Sets the value of the selectionBackground property.

Parameters:
c - The new value of the property

getSelectionForeground

public Color getSelectionForeground()
Gets the value of the selectionForeground property.

Returns:
The current value of the property

setSelectionForeground

public void setSelectionForeground(Color c)
Sets the value of the selectionForeground property.

Parameters:
c - The new value of the property

setSelectedValue

public void setSelectedValue(Object obj,
                             boolean scroll)
Sets the selection to cover only the specified value, if it exists in the model.

Parameters:
obj - The object to select
scroll - Whether to scroll the list to make the newly selected value visible
See Also:
ensureIndexIsVisible(int)

ensureIndexIsVisible

public void ensureIndexIsVisible(int i)
Scrolls this list to make the specified cell visible. This only works if the list is contained within a viewport.

Parameters:
i - The list index to make visible
See Also:
JComponent.scrollRectToVisible(java.awt.Rectangle)

setListData

public void setListData(Object[] listData)
Sets the model property of the list to a new anonymous AbstractListModel subclass which accesses the provided Object array directly.

Parameters:
listData - The object array to build a new list model on
See Also:
setModel(javax.swing.ListModel)

setListData

public void setListData(Vector<?> listData)
Sets the model property of the list to a new anonymous AbstractListModel subclass which accesses the provided vector directly.

Parameters:
listData - The object array to build a new list model on
See Also:
setModel(javax.swing.ListModel)

getCellRenderer

public ListCellRenderer getCellRenderer()
Gets the value of the cellRenderer property.

Returns:
The current value of the property

setCellRenderer

public void setCellRenderer(ListCellRenderer renderer)
Sets the value of the getCellRenderer() property.

Parameters:
renderer - The new property value

getModel

public ListModel getModel()
Gets the value of the model property.

Returns:
The current value of the property

setModel

public void setModel(ListModel model)
Sets the value of the model property. The list's listListener is unsubscribed from the existing model, if it exists, and re-subscribed to the new model.

Parameters:
model - the new model (null not permitted).
Throws:
IllegalArgumentException - if model is null.

getSelectionModel

public ListSelectionModel getSelectionModel()
Returns the selection model for the JList.AccessibleJList component. Note that this class contains a range of convenience methods for configuring the selection model:

Returns:
The selection model.

setSelectionModel

public void setSelectionModel(ListSelectionModel model)
Sets the value of the selectionModel property. The list's listListener is unsubscribed from the existing selection model, if it exists, and re-subscribed to the new selection model.

Parameters:
model - The new property value

getUI

public ListUI getUI()
Gets the value of the UI property.

Returns:
The current property value

setUI

public void setUI(ListUI ui)
Sets the value of the UI property.

Parameters:
ui - The new property value

updateUI

public void updateUI()
Calls setUI(javax.swing.plaf.ListUI) with the ListUI subclass returned from calling UIManager.getUI(javax.swing.JComponent).

Overrides:
updateUI in class JComponent

getUIClassID

public String getUIClassID()
Return the class identifier for the list's UI property. This should be the constant string "ListUI", and map to an appropriate UI class in the UIManager.

Overrides:
getUIClassID in class JComponent
Returns:
The class identifier
See Also:
JComponent.setUI(javax.swing.plaf.ComponentUI), JComponent.updateUI()

getPrototypeCellValue

public Object getPrototypeCellValue()
Returns the current value of the prototypeCellValue property. This property holds a reference to a "prototype" data value -- typically a String -- which is used to calculate the fixedCellWidth and fixedCellHeight properties, using the cellRenderer property to acquire a component to render the prototype.

Returns:
The current prototype cell value
See Also:
setPrototypeCellValue(java.lang.Object)

setPrototypeCellValue

public void setPrototypeCellValue(Object obj)

Set the prototypeCellValue property. This property holds a reference to a "prototype" data value -- typically a String -- which is used to calculate the fixedCellWidth and fixedCellHeight properties, using the cellRenderer property to acquire a component to render the prototype.

It is important that you not set this value to a component. It has to be a data value such as the objects you would find in the list's model. Setting it to a component will have undefined (and undesirable) affects.

Parameters:
obj - The new prototype cell value
See Also:
getPrototypeCellValue()

getAccessibleContext

public AccessibleContext getAccessibleContext()
Description copied from class: JComponent
Get the value of the accessibleContext property for this component.

Specified by:
getAccessibleContext in interface Accessible
Overrides:
getAccessibleContext in class JComponent
Returns:
the current value of the property

getPreferredScrollableViewportSize

public Dimension getPreferredScrollableViewportSize()
Returns a size indicating how much space this list would like to consume, when contained in a scrollable viewport. This is part of the Scrollable interface, which interacts with ScrollPaneLayout and JViewport to define scrollable objects.

Specified by:
getPreferredScrollableViewportSize in interface Scrollable
Returns:
The preferred size

getScrollableUnitIncrement

public int getScrollableUnitIncrement(Rectangle visibleRect,
                                      int orientation,
                                      int direction)

Return the number of pixels the list must scroll in order to move a "unit" of the list into the provided visible rectangle. When the provided direction is positive, the call describes a "downwards" scroll, which will be exposing a cell at a greater index in the list than those elements currently showing. Then the provided direction is negative, the call describes an "upwards" scroll, which will be exposing a cell at a lesser index in the list than those elements currently showing.

If the provided orientation is HORIZONTAL, the above comments refer to "rightwards" for positive direction, and "leftwards" for negative.

Specified by:
getScrollableUnitIncrement in interface Scrollable
Parameters:
visibleRect - The rectangle to scroll an element into
orientation - One of the numeric consants VERTICAL or HORIZONTAL
direction - An integer indicating the scroll direction: positive means forwards (down, right), negative means backwards (up, left)
Returns:
The scrollable unit increment, in pixels

getScrollableBlockIncrement

public int getScrollableBlockIncrement(Rectangle visibleRect,
                                       int orientation,
                                       int direction)

Return the number of pixels the list must scroll in order to move a "block" of the list into the provided visible rectangle. When the provided direction is positive, the call describes a "downwards" scroll, which will be exposing a cell at a greater index in the list than those elements currently showing. Then the provided direction is negative, the call describes an "upwards" scroll, which will be exposing a cell at a lesser index in the list than those elements currently showing.

If the provided orientation is HORIZONTAL, the above comments refer to "rightwards" for positive direction, and "leftwards" for negative.

Specified by:
getScrollableBlockIncrement in interface Scrollable
Parameters:
visibleRect - The rectangle to scroll an element into
orientation - One of the numeric consants VERTICAL or HORIZONTAL
direction - An integer indicating the scroll direction: positive means forwards (down, right), negative means backwards (up, left)
Returns:
The scrollable unit increment, in pixels

getScrollableTracksViewportWidth

public boolean getScrollableTracksViewportWidth()
Gets the value of the scrollableTracksViewportWidth property.

Specified by:
getScrollableTracksViewportWidth in interface Scrollable
Returns:
true if the viewport is larger (horizontally) than the list and the list should be expanded to fit the viewport; false if the viewport is smaller than the list and the list should scroll (horizontally) within the viewport

getScrollableTracksViewportHeight

public boolean getScrollableTracksViewportHeight()
Gets the value of the scrollableTracksViewportWidth property.

Specified by:
getScrollableTracksViewportHeight in interface Scrollable
Returns:
true if the viewport is larger (vertically) than the list and the list should be expanded to fit the viewport; false if the viewport is smaller than the list and the list should scroll (vertically) within the viewport

getAnchorSelectionIndex

public int getAnchorSelectionIndex()
Returns the index of the anchor item in the current selection, or -1 if there is no anchor item.

Returns:
The item index.

getLeadSelectionIndex

public int getLeadSelectionIndex()
Returns the index of the lead item in the current selection, or -1 if there is no lead item.

Returns:
The item index.

getMinSelectionIndex

public int getMinSelectionIndex()
Returns the lowest item index in the current selection, or -1 if there is no selection.

Returns:
The index.
See Also:
getMaxSelectionIndex()

getMaxSelectionIndex

public int getMaxSelectionIndex()
Returns the highest item index in the current selection, or -1 if there is no selection.

Returns:
The index.
See Also:
getMinSelectionIndex()

clearSelection

public void clearSelection()
Clears the current selection.


setSelectionInterval

public void setSelectionInterval(int anchor,
                                 int lead)
Sets the current selection to the items in the specified range (inclusive). Note that anchor can be less than, equal to, or greater than lead.

Parameters:
anchor - the index of the anchor item.
lead - the index of the anchor item.

addSelectionInterval

public void addSelectionInterval(int anchor,
                                 int lead)
Adds the specified interval to the current selection. Note that anchor can be less than, equal to, or greater than lead.

Parameters:
anchor - the index of the anchor item.
lead - the index of the lead item.

removeSelectionInterval

public void removeSelectionInterval(int index0,
                                    int index1)
Removes the specified interval from the current selection. Note that index0 can be less than, equal to, or greater than index1.

Parameters:
index0 - an index for one end of the range.
index1 - an index for the other end of the range.

getValueIsAdjusting

public boolean getValueIsAdjusting()
Returns the valueIsAdjusting flag from the list's selection model.

Returns:
the value

setValueIsAdjusting

public void setValueIsAdjusting(boolean isAdjusting)
Sets the valueIsAdjusting flag in the list's selection model.

Parameters:
isAdjusting - the new value

getDragEnabled

public boolean getDragEnabled()
Return the value of the dragEnabled property.

Returns:
the value
Since:
1.4

setDragEnabled

public void setDragEnabled(boolean enabled)
Set the dragEnabled property.

Parameters:
enabled - new value
Since:
1.4

getLayoutOrientation

public int getLayoutOrientation()
Returns the layout orientation, which will be one of VERTICAL, VERTICAL_WRAP and HORIZONTAL_WRAP. The default value is VERTICAL.

Returns:
the orientation.
Since:
1.4
See Also:
setLayoutOrientation(int)

setLayoutOrientation

public void setLayoutOrientation(int orientation)
Sets the layout orientation (this is a bound property with the name 'layoutOrientation'). Valid orientations are VERTICAL, VERTICAL_WRAP and HORIZONTAL_WRAP.

Parameters:
orientation - the orientation.
Throws:
IllegalArgumentException - if orientation is not one of the specified values.
Since:
1.4
See Also:
getLayoutOrientation()

getCellBounds

public Rectangle getCellBounds(int index0,
                               int index1)
Returns the bounds of the rectangle that encloses both list cells with index0 and index1.

Parameters:
index0 - the index of the first cell
index1 - the index of the second cell
Returns:
the bounds of the rectangle that encloses both list cells with index0 and index1, null if one of the indices is not valid

getNextMatch

public int getNextMatch(String prefix,
                        int startIndex,
                        Position.Bias direction)
Returns the index of the next list element (beginning at startIndex and moving in the specified direction through the list, looping around if necessary) that starts with prefix (ignoring case).

Parameters:
prefix - the prefix to search for in the cell values
startIndex - the index where to start searching from
direction - the search direction, either Position.Bias#Forward or Position.Bias#Backward (null is interpreted as Position.Bias#Backward.
Returns:
the index of the found element or -1 if no such element has been found
Throws:
IllegalArgumentException - if prefix is null or startIndex is not valid
Since:
1.4

paramString

protected String paramString()
Returns a string describing the attributes for the JList component, for use in debugging. The return value is guaranteed to be non-null, but the format of the string may vary between implementations.

Overrides:
paramString in class JComponent
Returns:
A string describing the attributes of the JList.