org.openide.awt
Class ListPane

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--javax.swing.JComponent
                    |
                    +--javax.swing.JList
                          |
                          +--org.openide.awt.ListPane
All Implemented Interfaces:
Accessible, ImageObserver, MenuContainer, Scrollable, Serializable

public class ListPane
extends JList

ListPane. This component is derived from JList component and enables list objects in several columns.

See Also:
Serialized Form

Inner classes inherited from class javax.swing.JList
JList.AccessibleJList
 
Inner classes inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
 
Inner classes inherited from class java.awt.Container
Container.AccessibleAWTContainer
 
Inner classes inherited from class java.awt.Component
Component.AccessibleAWTComponent
 
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
ListPane()
          Constructs a JList with an empty model.
ListPane(ListModel dataModel)
          Construct a JList that displays the elements in the specified, non-null model.
ListPane(Object[] listData)
          Construct a JList that displays the elements in the specified array.
ListPane(Vector listData)
          Construct a JList that displays the elements in the specified Vector.
 
Method Summary
 void ensureIndexIsVisible(int index)
          If this JList is being displayed withing a JViewport and the specified cell isn't completely visible, scroll the viewport.
 Rectangle getCellBounds(int index1, int index2)
          Returns the bounds of the specified item in JList coordinates, null if index isn't valid.
 Dimension getMinimumSize()
           
 Dimension getPreferredScrollableViewportSize()
          Compute the size of the viewport needed to display visibleRowCount rows.
 Dimension getPreferredSize()
          The preferredSize of a list is total height of the rows and the maximum width of the cells.
 int getScrollableBlockIncrement(Rectangle visibleRect, int orientation, int direction)
           
 boolean getScrollableTracksViewportHeight()
          If this JList is displayed in a JViewport, don't change its height when the viewports height changes.
 boolean getScrollableTracksViewportWidth()
          If this JList is displayed in a JViewport, don't change its width when the viewports width changes.
 int getScrollableUnitIncrement(Rectangle visibleRect, int orientation, int direction)
          If we're scrolling downwards (direction is greater than 0), and the first row is completely visible with respect to visibleRect, then return its height.
 String getToolTipText(MouseEvent event)
          Overrides JComponent's getToolTipText method in order to allow renderer's tips to be used if it has text set.
 int getVisibleColumnCount()
          Return the value of the visibleRowCount property.
 Point indexToLocation(int index)
          Returns the origin of the specified item in JList coordinates, null if index isn't valid.
 boolean isOpaque()
          JList components are always opaque.
 int locationToIndex(Point location)
          Convert a point in JList coordinates to the index of the cell at that location.
protected  void paintBackground(Graphics g)
          If the list is opaque, paint its background.
protected  void paintComponent(Graphics g)
          Paint the rows that intersect the Graphics objects clipRect.
 void setVisibleColumnCount(int visibleColumnCount)
          Set the preferred number of rows in the list that are visible within the nearest JViewport ancestor, if any.
 
Methods inherited from class javax.swing.JList
addListSelectionListener, addSelectionInterval, clearSelection, createSelectionModel, fireSelectionValueChanged, getAccessibleContext, getAnchorSelectionIndex, getCellRenderer, getFirstVisibleIndex, getFixedCellHeight, getFixedCellWidth, getLastVisibleIndex, getLeadSelectionIndex, getMaxSelectionIndex, getMinSelectionIndex, getModel, getPrototypeCellValue, getSelectedIndex, getSelectedIndices, getSelectedValue, getSelectedValues, getSelectionBackground, getSelectionForeground, getSelectionMode, getSelectionModel, getUI, getUIClassID, getValueIsAdjusting, getVisibleRowCount, isSelectedIndex, isSelectionEmpty, paramString, removeListSelectionListener, removeSelectionInterval, setCellRenderer, setFixedCellHeight, setFixedCellWidth, setListData, setListData, setModel, setPrototypeCellValue, setSelectedIndex, setSelectedIndices, setSelectedValue, setSelectionBackground, setSelectionForeground, setSelectionInterval, setSelectionMode, setSelectionModel, setUI, setValueIsAdjusting, setVisibleRowCount, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getGraphics, getHeight, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getNextFocusableComponent, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getTopLevelAncestor, getVerifyInputWhenFocusTarget, getVisibleRect, getWidth, getX, getY, grabFocus, hasFocus, hide, isDoubleBuffered, isFocusCycleRoot, isFocusTraversable, isLightweightComponent, isManagingFocus, isMaximumSizeSet, isMinimumSizeSet, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processFocusEvent, processKeyBinding, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDoubleBuffered, setEnabled, setFont, setForeground, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getLayout, insets, invalidate, isAncestorOf, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setLayout, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, getBackground, getBounds, getColorModel, getComponentOrientation, getCursor, getDropTarget, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getInputContext, getInputMethodRequests, getLocale, getLocation, getLocationOnScreen, getName, getParent, getPeer, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, imageUpdate, inside, isDisplayable, isEnabled, isLightweight, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ListPane

public ListPane(ListModel dataModel)
Construct a JList that displays the elements in the specified, non-null model. All JList constructors delegate to this one.

ListPane

public ListPane(Object[] listData)
Construct a JList that displays the elements in the specified array. This constructor just delegates to the ListModel constructor.

ListPane

public ListPane(Vector listData)
Construct a JList that displays the elements in the specified Vector. This constructor just delegates to the ListModel constructor.

ListPane

public ListPane()
Constructs a JList with an empty model.
Method Detail

isOpaque

public boolean isOpaque()
JList components are always opaque.
Overrides:
isOpaque in class JComponent
Returns:
true

getVisibleColumnCount

public int getVisibleColumnCount()
Return the value of the visibleRowCount property.
See Also:
JList.setVisibleRowCount(int)

setVisibleColumnCount

public void setVisibleColumnCount(int visibleColumnCount)
Set the preferred number of rows in the list that are visible within the nearest JViewport ancestor, if any. The value of this property only affects the value of the JLists preferredScrollableViewportSize.

The default value of this property is 8.

This is a JavaBeans bound property.

See Also:
JList.getVisibleRowCount(), JComponent.getVisibleRect()

ensureIndexIsVisible

public void ensureIndexIsVisible(int index)
If this JList is being displayed withing a JViewport and the specified cell isn't completely visible, scroll the viewport.
Overrides:
ensureIndexIsVisible in class JList
Parameters:
The - index of the cell to make visible
See Also:
JComponent.scrollRectToVisible(java.awt.Rectangle), JComponent.getVisibleRect()

locationToIndex

public int locationToIndex(Point location)
Convert a point in JList coordinates to the index of the cell at that location. Returns -1 if there's no cell the specified location.
Overrides:
locationToIndex in class JList
Parameters:
location - The JList relative coordinates of the cell
Returns:
The index of the cell at location, or -1.

indexToLocation

public Point indexToLocation(int index)
Returns the origin of the specified item in JList coordinates, null if index isn't valid.
Overrides:
indexToLocation in class JList
Parameters:
index - The index of the JList cell.
Returns:
The origin of the index'th cell.

getCellBounds

public Rectangle getCellBounds(int index1,
                               int index2)
Returns the bounds of the specified item in JList coordinates, null if index isn't valid.
Overrides:
getCellBounds in class JList
Parameters:
index - The index of the JList cell.
Returns:
The bounds of the index'th cell.

getPreferredScrollableViewportSize

public Dimension getPreferredScrollableViewportSize()
Compute the size of the viewport needed to display visibleRowCount rows. This is trivial if fixedCellWidth and fixedCellHeight were specified. Note that they can specified implicitly with the prototypeCellValue property. If fixedCellWidth wasn't specified, it's computed by finding the widest list element. If fixedCellHeight wasn't specified then we resort to heuristics:
Overrides:
getPreferredScrollableViewportSize in class JList
See Also:
getPreferredScrollableViewportSize()

getScrollableUnitIncrement

public int getScrollableUnitIncrement(Rectangle visibleRect,
                                      int orientation,
                                      int direction)
If we're scrolling downwards (direction is greater than 0), and the first row is completely visible with respect to visibleRect, then return its height. If we're scrolling downwards and the first row is only partially visible, return the height of the visible part of the first row. Similarly if we're scrolling upwards we return the height of the row above the first row, unless the first row is partially visible.
Overrides:
getScrollableUnitIncrement in class JList
Returns:
The distance to scroll to expose the next or previous row.
See Also:
Scrollable.getScrollableUnitIncrement(java.awt.Rectangle, int, int)

getScrollableBlockIncrement

public int getScrollableBlockIncrement(Rectangle visibleRect,
                                       int orientation,
                                       int direction)
Overrides:
getScrollableBlockIncrement in class JList
Returns:
The visibleRect.height or visibleRect.width per the orientation.
See Also:
Scrollable.getScrollableUnitIncrement(java.awt.Rectangle, int, int)

getScrollableTracksViewportWidth

public boolean getScrollableTracksViewportWidth()
If this JList is displayed in a JViewport, don't change its width when the viewports width changes. This allows horizontal scrolling if the JViewport is itself embedded in a JScrollPane.
Overrides:
getScrollableTracksViewportWidth in class JList
Returns:
False - don't track the viewports width.
See Also:
Scrollable.getScrollableTracksViewportWidth()

getScrollableTracksViewportHeight

public boolean getScrollableTracksViewportHeight()
If this JList is displayed in a JViewport, don't change its height when the viewports height changes. This allows vertical scrolling if the JViewport is itself embedded in a JScrollPane.
Overrides:
getScrollableTracksViewportHeight in class JList
Returns:
False - don't track the viewports width.
See Also:
Scrollable.getScrollableTracksViewportWidth()

paintBackground

protected void paintBackground(Graphics g)
If the list is opaque, paint its background. Subclasses may want to override this method rather than paint().
See Also:
JComponent.paint(java.awt.Graphics)

paintComponent

protected void paintComponent(Graphics g)
Paint the rows that intersect the Graphics objects clipRect. This method calls paintBackground and paintCell as necessary. Subclasses may want to override these methods.
Overrides:
paintComponent in class JComponent
See Also:
paintBackground(java.awt.Graphics)

getPreferredSize

public Dimension getPreferredSize()
The preferredSize of a list is total height of the rows and the maximum width of the cells. If JList.fixedCellHeight is specified then the total height of the rows is just (cellVerticalMargins + fixedCellHeight) * model.getSize() where rowVerticalMargins is the space we allocate for drawing the yellow focus outline. Similarly if JListfixedCellWidth is specified then we just use that plus the horizontal margins.
Overrides:
getPreferredSize in class JComponent
Returns:
The total size of the

getMinimumSize

public Dimension getMinimumSize()
Overrides:
getMinimumSize in class JComponent

getToolTipText

public String getToolTipText(MouseEvent event)
Overrides JComponent's getToolTipText method in order to allow renderer's tips to be used if it has text set.
Overrides:
getToolTipText in class JComponent
Parameters:
event - the MouseEvent that initiated the ToolTip display


Built on December 12 2001.  |  Portions Copyright 1997-2001 Sun Microsystems, Inc. All rights reserved.