javax.swing.plaf.basic
Class BasicListUI
The Basic Look and Feel UI delegate for the
JList.
protected int | convertRowToY(int row) - Calculate the Y coordinate of the upper edge of a particular row,
considering the Y coordinate
0 to occur at the top of the
list.
|
protected int | convertYToRow(int y0) - Calculate the row number containing a particular Y coordinate,
considering the Y coodrinate
0 to occur at the top of the
list.
|
protected FocusListener | createFocusListener() - Creates and returns the focus listener for this UI.
|
protected ListDataListener | createListDataListener() - Creates and returns the list data listener for this UI.
|
protected ListSelectionListener | createListSelectionListener() - Creates and returns the list selection listener for this UI.
|
protected MouseInputListener | createMouseInputListener() - Creates and returns the mouse input listener for this UI.
|
protected PropertyChangeListener | createPropertyChangeListener() - Creates and returns the property change listener for this UI.
|
static ComponentUI | createUI(JComponent c) - Creates a new BasicListUI for the component.
|
Rectangle | getCellBounds(JList l, int index1, int index2) - Calculate the bounds of a particular cell, considering the upper left
corner of the list as the origin position
(0,0) .
|
Dimension | getPreferredSize(JComponent c) - Gets the size this list would prefer to assume.
|
protected int | getRowHeight(int row) - Calculate the height of a particular row.
|
Point | indexToLocation(JList l, int index) - Determines the location of the specified cell.
|
protected void | installDefaults() - Installs various default settings (mostly colors) from the
UIDefaults into the JList
|
protected void | installKeyboardActions() - Installs keyboard actions for this UI in the
JList .
|
protected void | installListeners() - Attaches all the listeners we have in the UI class to the
JList , its model and its selection model.
|
void | installUI(JComponent c) - Installs the various aspects of the UI in the
JList .
|
int | locationToIndex(JList l, Point location) - Computes the index of a list cell given a point within the list.
|
protected void | maybeUpdateLayoutState() - Calls
updateLayoutState() if updateLayoutStateNeeded
is nonzero, then resets updateLayoutStateNeeded to zero.
|
void | paint(Graphics g, JComponent c) - Paints the list by repeatedly calling
paintCell(Graphics,int,Rectangle,ListCellRenderer,ListModel,ListSelectionModel,int) for each visible
cell in the list.
|
protected void | paintCell(Graphics g, int row, Rectangle bounds, ListCellRenderer rend, ListModel data, ListSelectionModel sel, int lead) - Paints a single cell in the list.
|
protected void | selectNextIndex() - Selects the next list item and force it to be visible.
|
protected void | selectPreviousIndex() - Selects the previous list item and force it to be visible.
|
protected void | uninstallDefaults() - Resets to
null those defaults which were installed in
installDefaults()
|
protected void | uninstallKeyboardActions() - Uninstalls keyboard actions for this UI in the
JList .
|
protected void | uninstallListeners() - Detaches all the listeners we attached in
installListeners() .
|
void | uninstallUI(JComponent c) - Uninstalls all the aspects of the UI which were installed in
installUI(JComponent) .
|
protected void | updateLayoutState() - Recomputes the
cellHeights , cellHeight , and cellWidth properties by examining the variouis properties of the
JList .
|
contains , createUI , getAccessibleChild , getAccessibleChildrenCount , getMaximumSize , getMinimumSize , getPreferredSize , installUI , paint , uninstallUI , update |
clone , equals , extends Object> getClass , finalize , hashCode , notify , notifyAll , toString , wait , wait , wait |
cellHeight
protected int cellHeight
The height of a single cell in the list. This field is used when the
fixedCellHeight property of the list is set. Otherwise this field is
set to
-1
and
cellHeights
is used instead.
cellHeights
protected int[] cellHeights
An array of varying heights of cells in the list, in cases where each
cell might have a different height. This field is used when the
fixedCellHeight
property of the list is not set. Otherwise
this field is
null
and
cellHeight
is used.
cellRendererChanged
protected static final int cellRendererChanged
A constant to indicate that the cellRenderer has changed.
cellWidth
protected int cellWidth
The width of a single cell in the list.
fixedCellHeightChanged
protected static final int fixedCellHeightChanged
A constant to indicate that the fixedCellHeight has changed.
fixedCellWidthChanged
protected static final int fixedCellWidthChanged
A constant to indicate that the fixedCellWidth has changed.
fontChanged
protected static final int fontChanged
A constant to indicate that the font has changed.
list
protected JList list
Saved reference to the list this UI was created for.
modelChanged
protected static final int modelChanged
A constant to indicate that the model has changed.
prototypeCellValueChanged
protected static final int prototypeCellValueChanged
A constant to indicate that the prototypeCellValue has changed.
selectionModelChanged
protected static final int selectionModelChanged
A constant to indicate that the selection model has changed.
updateLayoutStateNeeded
protected int updateLayoutStateNeeded
A bitmask that indicates which properties of the JList have changed.
When nonzero, indicates that the UI class is out of
date with respect to the underlying list, and must recalculate the
list layout before painting or performing size calculations.
BasicListUI
public BasicListUI()
Creates a new BasicListUI object.
convertRowToY
protected int convertRowToY(int row)
Calculate the Y coordinate of the upper edge of a particular row,
considering the Y coordinate 0
to occur at the top of the
list.
row
- The row to calculate the Y coordinate of
- The Y coordinate of the specified row, or
-1
if
the specified row number is invalid
convertYToRow
protected int convertYToRow(int y0)
Calculate the row number containing a particular Y coordinate,
considering the Y coodrinate 0
to occur at the top of the
list.
y0
- The Y coordinate to calculate the row number for
- The row number containing the specified Y value, or
-1
if the list model is empty
getCellBounds
public Rectangle getCellBounds(JList l,
int index1,
int index2)
Calculate the bounds of a particular cell, considering the upper left
corner of the list as the origin position (0,0)
.
- getCellBounds in interface ListUI
l
- Ignored; calculates over this.list
index1
- The first row to include in the boundsindex2
- The last row to incude in the bounds
- A rectangle encompassing the range of rows between
index1
and index2
inclusive, or null
such a rectangle couldn't be calculated for the given indexes.
getRowHeight
protected int getRowHeight(int row)
Calculate the height of a particular row. If there is a fixed
cellHeight
, return it; otherwise return the specific row height
requested from the
cellHeights
array. If the requested row
is invalid, return
-1
.
row
- The row to get the height of
- The height, in pixels, of the specified row
indexToLocation
public Point indexToLocation(JList l,
int index)
Determines the location of the specified cell.
- indexToLocation in interface ListUI
index
- the zero-based index of the cell whose location shall be
determined.
- the position of the top left corner of the cell in the
JList
coordinate system, or null
if cell
does not designate a valid cell.
installListeners
protected void installListeners()
Attaches all the listeners we have in the UI class to the
JList
, its model and its selection model.
locationToIndex
public int locationToIndex(JList l,
Point location)
Computes the index of a list cell given a point within the list. If the
location lies outside the bounds of the list, the greatest index in the
list model is returned.
- locationToIndex in interface ListUI
l
- the list which on which the computation is based onlocation
- the coordinates
- the index of the list item that is located at the given
coordinates or
-1
if the list model is empty
paintCell
protected void paintCell(Graphics g,
int row,
Rectangle bounds,
ListCellRenderer rend,
ListModel data,
ListSelectionModel sel,
int lead)
Paints a single cell in the list.
g
- The graphics context to paint inrow
- The row number to paintbounds
- The bounds of the cell to paint, assuming a coordinate
system beginning at (0,0)
in the upper left corner of the
listrend
- A cell renderer to paint withdata
- The data to provide to the cell renderersel
- A selection model to provide to the cell rendererlead
- The lead selection index of the list
selectNextIndex
protected void selectNextIndex()
Selects the next list item and force it to be visible.
selectPreviousIndex
protected void selectPreviousIndex()
Selects the previous list item and force it to be visible.
BasicListUI.java --
Copyright (C) 2002, 2004, 2005, 2006 Free Software Foundation, Inc.
This file is part of GNU Classpath.
GNU Classpath is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
GNU Classpath is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
02110-1301 USA.
Linking this library statically or dynamically with other modules is
making a combined work based on this library. Thus, the terms and
conditions of the GNU General Public License cover the whole
combination.
As a special exception, the copyright holders of this library give you
permission to link this library with independent modules to produce an
executable, regardless of the license terms of these independent
modules, and to copy and distribute the resulting executable under
terms of your choice, provided that you also meet, for each linked
independent module, the terms and conditions of the license of that
module. An independent module is a module which is not derived from
or based on this library. If you modify this library, you may extend
this exception to your version of the library, but you are not
obligated to do so. If you do not wish to do so, delete this
exception statement from your version.