<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
<!--NewPage-->
<HTML>
<HEAD>
<!-- Generated by javadoc on Tue Jun 29 05:58:58 GMT+01:00 1999 -->
<TITLE>
Swing 1.1 API Specification: Class  BasicListUI
</TITLE>
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
</HEAD>
<BODY BGCOLOR="white">

<!-- ========== START OF NAVBAR ========== -->
<A NAME="navbar_top"><!-- --></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" ID="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
  <TR ALIGN="center" VALIGN="top">
  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT ID="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="package-summary.html"><FONT ID="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#FFFFFF" ID="NavBarCell1Rev"> &nbsp;<FONT ID="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="class-use/BasicListUI.html"><FONT ID="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="package-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../../../../index-files/index-1.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
  </TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
Swing 1.1</EM>
</TD>
</TR>

<TR>
<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../../javax/swing/plaf/basic/BasicLabelUI.html"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../javax/swing/plaf/basic/BasicListUI.FocusHandler.html"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../../index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="BasicListUI.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD>
</TR>
<TR>
<TD VALIGN="top" ID="NavBarCell3"><FONT SIZE="-2">
  SUMMARY: &nbsp;<A HREF="#inner_class_summary">INNER</A>&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" ID="NavBarCell3"><FONT SIZE="-2">
DETAIL: &nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<!-- =========== END OF NAVBAR =========== -->

<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>
<FONT SIZE="-1">
javax.swing.plaf.basic</FONT>
<BR>
Class  BasicListUI</H2>
<PRE>
java.lang.Object
  |
  +--<A HREF="../../../../javax/swing/plaf/ComponentUI.html">javax.swing.plaf.ComponentUI</A>
        |
        +--<A HREF="../../../../javax/swing/plaf/ListUI.html">javax.swing.plaf.ListUI</A>
              |
              +--<B>javax.swing.plaf.basic.BasicListUI</B>
</PRE>
<HR>
<DL>
<DT>public class <B>BasicListUI</B><DT>extends <A HREF="../../../../javax/swing/plaf/ListUI.html">ListUI</A></DL>

<P>
A Windows L&F implementation of ListUI.
 <p>
<P>
<HR>

<P>
<!-- ======== INNER CLASS SUMMARY ======== -->

<A NAME="inner_class_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" ID="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Inner Class Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;class</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../javax/swing/plaf/basic/BasicListUI.FocusHandler.html">BasicListUI.FocusHandler</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This inner class is marked &quot;public&quot; due to a compiler bug.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;class</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../javax/swing/plaf/basic/BasicListUI.ListDataHandler.html">BasicListUI.ListDataHandler</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The ListDataListener that's added to the JLists model at
 installUI time, and whenever the JList.model property changes.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;class</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../javax/swing/plaf/basic/BasicListUI.ListSelectionHandler.html">BasicListUI.ListSelectionHandler</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The ListSelectionListener that's added to the JLists selection
 model at installUI time, and whenever the JList.selectionModel property
 changes.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;class</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../javax/swing/plaf/basic/BasicListUI.MouseInputHandler.html">BasicListUI.MouseInputHandler</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Mouse input, and focus handling for JList.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;class</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../javax/swing/plaf/basic/BasicListUI.PropertyChangeHandler.html">BasicListUI.PropertyChangeHandler</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The PropertyChangeListener that's added to the JList at
 installUI time.</TD>
</TR>
</TABLE>
&nbsp;
<!-- =========== FIELD SUMMARY =========== -->

<A NAME="field_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" ID="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Field Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../javax/swing/plaf/basic/BasicListUI.html#cellHeight">cellHeight</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;int[]</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../javax/swing/plaf/basic/BasicListUI.html#cellHeights">cellHeights</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../javax/swing/plaf/basic/BasicListUI.html#cellRendererChanged">cellRendererChanged</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../javax/swing/plaf/basic/BasicListUI.html#cellWidth">cellWidth</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../javax/swing/plaf/basic/BasicListUI.html#fixedCellHeightChanged">fixedCellHeightChanged</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../javax/swing/plaf/basic/BasicListUI.html#fixedCellWidthChanged">fixedCellWidthChanged</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;java.awt.event.FocusListener</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../javax/swing/plaf/basic/BasicListUI.html#focusListener">focusListener</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../javax/swing/plaf/basic/BasicListUI.html#fontChanged">fontChanged</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="../../../../javax/swing/JList.html">JList</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../javax/swing/plaf/basic/BasicListUI.html#list">list</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="../../../../javax/swing/event/ListDataListener.html">ListDataListener</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../javax/swing/plaf/basic/BasicListUI.html#listDataListener">listDataListener</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="../../../../javax/swing/event/ListSelectionListener.html">ListSelectionListener</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../javax/swing/plaf/basic/BasicListUI.html#listSelectionListener">listSelectionListener</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../javax/swing/plaf/basic/BasicListUI.html#modelChanged">modelChanged</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="../../../../javax/swing/event/MouseInputListener.html">MouseInputListener</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../javax/swing/plaf/basic/BasicListUI.html#mouseInputListener">mouseInputListener</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;java.beans.PropertyChangeListener</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../javax/swing/plaf/basic/BasicListUI.html#propertyChangeListener">propertyChangeListener</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../javax/swing/plaf/basic/BasicListUI.html#prototypeCellValueChanged">prototypeCellValueChanged</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="../../../../javax/swing/CellRendererPane.html">CellRendererPane</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../javax/swing/plaf/basic/BasicListUI.html#rendererPane">rendererPane</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../javax/swing/plaf/basic/BasicListUI.html#selectionModelChanged">selectionModelChanged</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../javax/swing/plaf/basic/BasicListUI.html#updateLayoutStateNeeded">updateLayoutStateNeeded</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
</TABLE>
&nbsp;
<!-- ======== CONSTRUCTOR SUMMARY ======== -->

<A NAME="constructor_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" ID="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Constructor Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD><CODE><B><A HREF="../../../../javax/swing/plaf/basic/BasicListUI.html#BasicListUI()">BasicListUI</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
</TABLE>
&nbsp;
<!-- ========== METHOD SUMMARY =========== -->

<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" ID="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Method Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../javax/swing/plaf/basic/BasicListUI.html#convertRowToY(int)">convertRowToY</A></B>(int&nbsp;row)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the JList relative Y coordinate of the origin of the specified
 row or -1 if row isn't valid.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../javax/swing/plaf/basic/BasicListUI.html#convertYToRow(int)">convertYToRow</A></B>(int&nbsp;y0)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Convert the JList relative coordinate to the row that contains it,
 based on the current layout.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;java.awt.event.FocusListener</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../javax/swing/plaf/basic/BasicListUI.html#createFocusListener()">createFocusListener</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="../../../../javax/swing/event/ListDataListener.html">ListDataListener</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../javax/swing/plaf/basic/BasicListUI.html#createListDataListener()">createListDataListener</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates an instance of ListDataListener that's added to
 the JLists by model as needed.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="../../../../javax/swing/event/ListSelectionListener.html">ListSelectionListener</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../javax/swing/plaf/basic/BasicListUI.html#createListSelectionListener()">createListSelectionListener</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates an instance of ListSelectionHandler that's added to
 the JLists by selectionModel as needed.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="../../../../javax/swing/event/MouseInputListener.html">MouseInputListener</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../javax/swing/plaf/basic/BasicListUI.html#createMouseInputListener()">createMouseInputListener</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a delegate that implements MouseInputListener.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;java.beans.PropertyChangeListener</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../javax/swing/plaf/basic/BasicListUI.html#createPropertyChangeListener()">createPropertyChangeListener</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates an instance of PropertyChangeHandler that's added to
 the JList by installUI().</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;<A HREF="../../../../javax/swing/plaf/ComponentUI.html">ComponentUI</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../javax/swing/plaf/basic/BasicListUI.html#createUI(javax.swing.JComponent)">createUI</A></B>(<A HREF="../../../../javax/swing/JComponent.html">JComponent</A>&nbsp;list)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a new instance of BasicListUI.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.awt.Rectangle</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../javax/swing/plaf/basic/BasicListUI.html#getCellBounds(javax.swing.JList, int, int)">getCellBounds</A></B>(<A HREF="../../../../javax/swing/JList.html">JList</A>&nbsp;list,
              int&nbsp;index1,
              int&nbsp;index2)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.awt.Dimension</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../javax/swing/plaf/basic/BasicListUI.html#getMaximumSize(javax.swing.JComponent)">getMaximumSize</A></B>(<A HREF="../../../../javax/swing/JComponent.html">JComponent</A>&nbsp;c)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.awt.Dimension</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../javax/swing/plaf/basic/BasicListUI.html#getMinimumSize(javax.swing.JComponent)">getMinimumSize</A></B>(<A HREF="../../../../javax/swing/JComponent.html">JComponent</A>&nbsp;c)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.awt.Dimension</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../javax/swing/plaf/basic/BasicListUI.html#getPreferredSize(javax.swing.JComponent)">getPreferredSize</A></B>(<A HREF="../../../../javax/swing/JComponent.html">JComponent</A>&nbsp;c)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The preferredSize of a list is total height of the rows
 and the maximum width of the cells.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../javax/swing/plaf/basic/BasicListUI.html#getRowHeight(int)">getRowHeight</A></B>(int&nbsp;row)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the height of the specified row based on the current layout.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.awt.Point</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../javax/swing/plaf/basic/BasicListUI.html#indexToLocation(javax.swing.JList, int)">indexToLocation</A></B>(<A HREF="../../../../javax/swing/JList.html">JList</A>&nbsp;list,
                int&nbsp;index)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../javax/swing/plaf/basic/BasicListUI.html#installDefaults()">installDefaults</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Initialize JList properties, e.g.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../javax/swing/plaf/basic/BasicListUI.html#installKeyboardActions()">installKeyboardActions</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Register keyboard actions for the up and down arrow keys.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../javax/swing/plaf/basic/BasicListUI.html#installListeners()">installListeners</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Create and install the listeners for the JList, its model, and its
 selectionModel.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../javax/swing/plaf/basic/BasicListUI.html#installUI(javax.swing.JComponent)">installUI</A></B>(<A HREF="../../../../javax/swing/JComponent.html">JComponent</A>&nbsp;c)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Initializes <code>this.list</code> by calling <code>installDefaults()</code>,
 <code>installListeners()</code>, and <code>installKeyboardActions()</code>
 in order.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../javax/swing/plaf/basic/BasicListUI.html#locationToIndex(javax.swing.JList, java.awt.Point)">locationToIndex</A></B>(<A HREF="../../../../javax/swing/JList.html">JList</A>&nbsp;list,
                java.awt.Point&nbsp;location)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../javax/swing/plaf/basic/BasicListUI.html#maybeUpdateLayoutState()">maybeUpdateLayoutState</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If updateLayoutStateNeeded is non zero, call updateLayoutState() and reset
 updateLayoutStateNeeded.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../javax/swing/plaf/basic/BasicListUI.html#paint(java.awt.Graphics, javax.swing.JComponent)">paint</A></B>(java.awt.Graphics&nbsp;g,
      <A HREF="../../../../javax/swing/JComponent.html">JComponent</A>&nbsp;c)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Paint the rows that intersect the Graphics objects clipRect.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../javax/swing/plaf/basic/BasicListUI.html#paintCell(java.awt.Graphics, int, java.awt.Rectangle, javax.swing.ListCellRenderer, javax.swing.ListModel, javax.swing.ListSelectionModel, int)">paintCell</A></B>(java.awt.Graphics&nbsp;g,
          int&nbsp;row,
          java.awt.Rectangle&nbsp;rowBounds,
          <A HREF="../../../../javax/swing/ListCellRenderer.html">ListCellRenderer</A>&nbsp;cellRenderer,
          <A HREF="../../../../javax/swing/ListModel.html">ListModel</A>&nbsp;dataModel,
          <A HREF="../../../../javax/swing/ListSelectionModel.html">ListSelectionModel</A>&nbsp;selModel,
          int&nbsp;leadIndex)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Paint one List cell: compute the relevant state, get the "rubber stamp"
 cell renderer component, and then use the CellRendererPane to paint it.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../javax/swing/plaf/basic/BasicListUI.html#selectNextIndex()">selectNextIndex</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Selected the previous row and force it to be visible.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../javax/swing/plaf/basic/BasicListUI.html#selectPreviousIndex()">selectPreviousIndex</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Selected the previous row and force it to be visible.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../javax/swing/plaf/basic/BasicListUI.html#uninstallDefaults()">uninstallDefaults</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the JList properties that haven't been explicitly overriden to
 null.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../javax/swing/plaf/basic/BasicListUI.html#uninstallKeyboardActions()">uninstallKeyboardActions</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Unregister keyboard actions for the up and down arrow keys.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../javax/swing/plaf/basic/BasicListUI.html#uninstallListeners()">uninstallListeners</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Remove the listeners for the JList, its model, and its
 selectionModel.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../javax/swing/plaf/basic/BasicListUI.html#uninstallUI(javax.swing.JComponent)">uninstallUI</A></B>(<A HREF="../../../../javax/swing/JComponent.html">JComponent</A>&nbsp;c)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Uninitializes <code>this.list</code> by calling <code>uninstallListeners()</code>,
 <code>uninstallKeyboardActions()</code>, and <code>uninstallDefaults()</code>
 in order.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../javax/swing/plaf/basic/BasicListUI.html#updateLayoutState()">updateLayoutState</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Recompute the value of cellHeight or cellHeights based
 and cellWidth, based on the current font and the current
 values of fixedCellWidth, fixedCellHeight, and prototypeCellValue.</TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_javax.swing.plaf.ComponentUI"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#EEEEFF" ID="TableSubHeadingColor">
<TD><B>Methods inherited from class javax.swing.plaf.<A HREF="../../../../javax/swing/plaf/ComponentUI.html">ComponentUI</A></B></TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD><CODE><A HREF="../../../../javax/swing/plaf/ComponentUI.html#contains(javax.swing.JComponent, int, int)">contains</A>, 
<A HREF="../../../../javax/swing/plaf/ComponentUI.html#getAccessibleChild(javax.swing.JComponent, int)">getAccessibleChild</A>, 
<A HREF="../../../../javax/swing/plaf/ComponentUI.html#getAccessibleChildrenCount(javax.swing.JComponent)">getAccessibleChildrenCount</A>, 
<A HREF="../../../../javax/swing/plaf/ComponentUI.html#update(java.awt.Graphics, javax.swing.JComponent)">update</A></CODE></TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#EEEEFF" ID="TableSubHeadingColor">
<TD><B>Methods inherited from class java.lang.Object</B></TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD><CODE>clone, 
equals, 
finalize, 
getClass, 
hashCode, 
notify, 
notifyAll, 
toString, 
wait, 
wait, 
wait</CODE></TD>
</TR>
</TABLE>
&nbsp;
<P>

<!-- ============ FIELD DETAIL =========== -->

<A NAME="field_detail"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" ID="TableHeadingColor">
<TD COLSPAN=1><FONT SIZE="+2">
<B>Field Detail</B></FONT></TD>
</TR>
</TABLE>

<A NAME="list"><!-- --></A><H3>
list</H3>
<PRE>
protected <A HREF="../../../../javax/swing/JList.html">JList</A> <B>list</B></PRE>
<DL>
</DL>
<HR>

<A NAME="rendererPane"><!-- --></A><H3>
rendererPane</H3>
<PRE>
protected <A HREF="../../../../javax/swing/CellRendererPane.html">CellRendererPane</A> <B>rendererPane</B></PRE>
<DL>
</DL>
<HR>

<A NAME="focusListener"><!-- --></A><H3>
focusListener</H3>
<PRE>
protected java.awt.event.FocusListener <B>focusListener</B></PRE>
<DL>
</DL>
<HR>

<A NAME="mouseInputListener"><!-- --></A><H3>
mouseInputListener</H3>
<PRE>
protected <A HREF="../../../../javax/swing/event/MouseInputListener.html">MouseInputListener</A> <B>mouseInputListener</B></PRE>
<DL>
</DL>
<HR>

<A NAME="listSelectionListener"><!-- --></A><H3>
listSelectionListener</H3>
<PRE>
protected <A HREF="../../../../javax/swing/event/ListSelectionListener.html">ListSelectionListener</A> <B>listSelectionListener</B></PRE>
<DL>
</DL>
<HR>

<A NAME="listDataListener"><!-- --></A><H3>
listDataListener</H3>
<PRE>
protected <A HREF="../../../../javax/swing/event/ListDataListener.html">ListDataListener</A> <B>listDataListener</B></PRE>
<DL>
</DL>
<HR>

<A NAME="propertyChangeListener"><!-- --></A><H3>
propertyChangeListener</H3>
<PRE>
protected java.beans.PropertyChangeListener <B>propertyChangeListener</B></PRE>
<DL>
</DL>
<HR>

<A NAME="cellHeights"><!-- --></A><H3>
cellHeights</H3>
<PRE>
protected int[] <B>cellHeights</B></PRE>
<DL>
</DL>
<HR>

<A NAME="cellHeight"><!-- --></A><H3>
cellHeight</H3>
<PRE>
protected int <B>cellHeight</B></PRE>
<DL>
</DL>
<HR>

<A NAME="cellWidth"><!-- --></A><H3>
cellWidth</H3>
<PRE>
protected int <B>cellWidth</B></PRE>
<DL>
</DL>
<HR>

<A NAME="updateLayoutStateNeeded"><!-- --></A><H3>
updateLayoutStateNeeded</H3>
<PRE>
protected int <B>updateLayoutStateNeeded</B></PRE>
<DL>
</DL>
<HR>

<A NAME="modelChanged"><!-- --></A><H3>
modelChanged</H3>
<PRE>
protected static final int <B>modelChanged</B></PRE>
<DL>
</DL>
<HR>

<A NAME="selectionModelChanged"><!-- --></A><H3>
selectionModelChanged</H3>
<PRE>
protected static final int <B>selectionModelChanged</B></PRE>
<DL>
</DL>
<HR>

<A NAME="fontChanged"><!-- --></A><H3>
fontChanged</H3>
<PRE>
protected static final int <B>fontChanged</B></PRE>
<DL>
</DL>
<HR>

<A NAME="fixedCellWidthChanged"><!-- --></A><H3>
fixedCellWidthChanged</H3>
<PRE>
protected static final int <B>fixedCellWidthChanged</B></PRE>
<DL>
</DL>
<HR>

<A NAME="fixedCellHeightChanged"><!-- --></A><H3>
fixedCellHeightChanged</H3>
<PRE>
protected static final int <B>fixedCellHeightChanged</B></PRE>
<DL>
</DL>
<HR>

<A NAME="prototypeCellValueChanged"><!-- --></A><H3>
prototypeCellValueChanged</H3>
<PRE>
protected static final int <B>prototypeCellValueChanged</B></PRE>
<DL>
</DL>
<HR>

<A NAME="cellRendererChanged"><!-- --></A><H3>
cellRendererChanged</H3>
<PRE>
protected static final int <B>cellRendererChanged</B></PRE>
<DL>
</DL>

<!-- ========= CONSTRUCTOR DETAIL ======== -->

<A NAME="constructor_detail"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" ID="TableHeadingColor">
<TD COLSPAN=1><FONT SIZE="+2">
<B>Constructor Detail</B></FONT></TD>
</TR>
</TABLE>

<A NAME="BasicListUI()"><!-- --></A><H3>
BasicListUI</H3>
<PRE>
public <B>BasicListUI</B>()</PRE>
<DL>
</DL>

<!-- ============ METHOD DETAIL ========== -->

<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" ID="TableHeadingColor">
<TD COLSPAN=1><FONT SIZE="+2">
<B>Method Detail</B></FONT></TD>
</TR>
</TABLE>

<A NAME="paintCell(java.awt.Graphics, int, java.awt.Rectangle, javax.swing.ListCellRenderer, javax.swing.ListModel, javax.swing.ListSelectionModel, int)"><!-- --></A><H3>
paintCell</H3>
<PRE>
protected void <B>paintCell</B>(java.awt.Graphics&nbsp;g,
                         int&nbsp;row,
                         java.awt.Rectangle&nbsp;rowBounds,
                         <A HREF="../../../../javax/swing/ListCellRenderer.html">ListCellRenderer</A>&nbsp;cellRenderer,
                         <A HREF="../../../../javax/swing/ListModel.html">ListModel</A>&nbsp;dataModel,
                         <A HREF="../../../../javax/swing/ListSelectionModel.html">ListSelectionModel</A>&nbsp;selModel,
                         int&nbsp;leadIndex)</PRE>
<DL>
<DD>Paint one List cell: compute the relevant state, get the "rubber stamp"
 cell renderer component, and then use the CellRendererPane to paint it.
 Subclasses may want to override this method rather than paint().<DD><DL>
<DT><B>See Also: </B><DD><A HREF="../../../../javax/swing/plaf/basic/BasicListUI.html#paint(java.awt.Graphics, javax.swing.JComponent)"><CODE>paint(java.awt.Graphics, javax.swing.JComponent)</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="paint(java.awt.Graphics, javax.swing.JComponent)"><!-- --></A><H3>
paint</H3>
<PRE>
public void <B>paint</B>(java.awt.Graphics&nbsp;g,
                  <A HREF="../../../../javax/swing/JComponent.html">JComponent</A>&nbsp;c)</PRE>
<DL>
<DD>Paint the rows that intersect the Graphics objects clipRect.  This
 method calls paintCell as necessary.  Subclasses
 may want to override these methods.<DD><DL>
<DT><B>Overrides:</B><DD><A HREF="../../../../javax/swing/plaf/ComponentUI.html#paint(java.awt.Graphics, javax.swing.JComponent)">paint</A> in class <A HREF="../../../../javax/swing/plaf/ComponentUI.html">ComponentUI</A><DT><B>See Also: </B><DD><A HREF="../../../../javax/swing/plaf/basic/BasicListUI.html#paintCell(java.awt.Graphics, int, java.awt.Rectangle, javax.swing.ListCellRenderer, javax.swing.ListModel, javax.swing.ListSelectionModel, int)"><CODE>paintCell(java.awt.Graphics, int, java.awt.Rectangle, javax.swing.ListCellRenderer, javax.swing.ListModel, javax.swing.ListSelectionModel, int)</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getPreferredSize(javax.swing.JComponent)"><!-- --></A><H3>
getPreferredSize</H3>
<PRE>
public java.awt.Dimension <B>getPreferredSize</B>(<A HREF="../../../../javax/swing/JComponent.html">JComponent</A>&nbsp;c)</PRE>
<DL>
<DD>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.<DD><DL>
<DT><B>Parameters:</B><DD><CODE>c</CODE> - The JList component.<DT><B>Returns:</B><DD>The total size of the list.<DT><B>Overrides:</B><DD><A HREF="../../../../javax/swing/plaf/ComponentUI.html#getPreferredSize(javax.swing.JComponent)">getPreferredSize</A> in class <A HREF="../../../../javax/swing/plaf/ComponentUI.html">ComponentUI</A></DL>
</DD>
</DL>
<HR>

<A NAME="getMinimumSize(javax.swing.JComponent)"><!-- --></A><H3>
getMinimumSize</H3>
<PRE>
public java.awt.Dimension <B>getMinimumSize</B>(<A HREF="../../../../javax/swing/JComponent.html">JComponent</A>&nbsp;c)</PRE>
<DL>
<DD><DL>
<DT><B>Overrides:</B><DD><A HREF="../../../../javax/swing/plaf/ComponentUI.html#getMinimumSize(javax.swing.JComponent)">getMinimumSize</A> in class <A HREF="../../../../javax/swing/plaf/ComponentUI.html">ComponentUI</A><DT><B>See Also: </B><DD><A HREF="../../../../javax/swing/plaf/basic/BasicListUI.html#getPreferredSize(javax.swing.JComponent)"><CODE>getPreferredSize(javax.swing.JComponent)</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getMaximumSize(javax.swing.JComponent)"><!-- --></A><H3>
getMaximumSize</H3>
<PRE>
public java.awt.Dimension <B>getMaximumSize</B>(<A HREF="../../../../javax/swing/JComponent.html">JComponent</A>&nbsp;c)</PRE>
<DL>
<DD><DL>
<DT><B>Overrides:</B><DD><A HREF="../../../../javax/swing/plaf/ComponentUI.html#getMaximumSize(javax.swing.JComponent)">getMaximumSize</A> in class <A HREF="../../../../javax/swing/plaf/ComponentUI.html">ComponentUI</A><DT><B>See Also: </B><DD><A HREF="../../../../javax/swing/plaf/basic/BasicListUI.html#getPreferredSize(javax.swing.JComponent)"><CODE>getPreferredSize(javax.swing.JComponent)</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="selectPreviousIndex()"><!-- --></A><H3>
selectPreviousIndex</H3>
<PRE>
protected void <B>selectPreviousIndex</B>()</PRE>
<DL>
<DD>Selected the previous row and force it to be visible.
 Called by the KeyEvent.VK_UP keyboard action.<DD><DL>
<DT><B>See Also: </B><DD><A HREF="../../../../javax/swing/plaf/basic/BasicListUI.html#installKeyboardActions()"><CODE>installKeyboardActions()</CODE></A>, 
<A HREF="../../../../javax/swing/JList.html#ensureIndexIsVisible(int)"><CODE>JList.ensureIndexIsVisible(int)</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="selectNextIndex()"><!-- --></A><H3>
selectNextIndex</H3>
<PRE>
protected void <B>selectNextIndex</B>()</PRE>
<DL>
<DD>Selected the previous row and force it to be visible.
 Called by the KeyEvent.VK_DOWN keyboard action.<DD><DL>
<DT><B>See Also: </B><DD><A HREF="../../../../javax/swing/plaf/basic/BasicListUI.html#installKeyboardActions()"><CODE>installKeyboardActions()</CODE></A>, 
<A HREF="../../../../javax/swing/JList.html#ensureIndexIsVisible(int)"><CODE>JList.ensureIndexIsVisible(int)</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="installKeyboardActions()"><!-- --></A><H3>
installKeyboardActions</H3>
<PRE>
protected void <B>installKeyboardActions</B>()</PRE>
<DL>
<DD>Register keyboard actions for the up and down arrow keys.  The
 actions just call out to protected methods, subclasses that
 want to override or extend keyboard behavior should consider
 just overriding those methods.  This method is called at
 installUI() time.<DD><DL>
<DT><B>See Also: </B><DD><A HREF="../../../../javax/swing/plaf/basic/BasicListUI.html#selectPreviousIndex()"><CODE>selectPreviousIndex()</CODE></A>, 
<A HREF="../../../../javax/swing/plaf/basic/BasicListUI.html#selectNextIndex()"><CODE>selectNextIndex()</CODE></A>, 
<A HREF="../../../../javax/swing/plaf/basic/BasicListUI.html#installUI(javax.swing.JComponent)"><CODE>installUI(javax.swing.JComponent)</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="uninstallKeyboardActions()"><!-- --></A><H3>
uninstallKeyboardActions</H3>
<PRE>
protected void <B>uninstallKeyboardActions</B>()</PRE>
<DL>
<DD>Unregister keyboard actions for the up and down arrow keys.
 This method is called at uninstallUI() time - subclassess should
 ensure that all of the keyboard actions registered at installUI
 time are removed here.<DD><DL>
<DT><B>See Also: </B><DD><A HREF="../../../../javax/swing/plaf/basic/BasicListUI.html#selectPreviousIndex()"><CODE>selectPreviousIndex()</CODE></A>, 
<A HREF="../../../../javax/swing/plaf/basic/BasicListUI.html#selectNextIndex()"><CODE>selectNextIndex()</CODE></A>, 
<A HREF="../../../../javax/swing/plaf/basic/BasicListUI.html#installUI(javax.swing.JComponent)"><CODE>installUI(javax.swing.JComponent)</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="installListeners()"><!-- --></A><H3>
installListeners</H3>
<PRE>
protected void <B>installListeners</B>()</PRE>
<DL>
<DD>Create and install the listeners for the JList, its model, and its
 selectionModel.  This method is called at installUI() time.<DD><DL>
<DT><B>See Also: </B><DD><A HREF="../../../../javax/swing/plaf/basic/BasicListUI.html#installUI(javax.swing.JComponent)"><CODE>installUI(javax.swing.JComponent)</CODE></A>, 
<A HREF="../../../../javax/swing/plaf/basic/BasicListUI.html#uninstallListeners()"><CODE>uninstallListeners()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="uninstallListeners()"><!-- --></A><H3>
uninstallListeners</H3>
<PRE>
protected void <B>uninstallListeners</B>()</PRE>
<DL>
<DD>Remove the listeners for the JList, its model, and its
 selectionModel.  All of the listener fields, are reset to
 null here.  This method is called at uninstallUI() time,
 it should be kept in sync with installListeners.<DD><DL>
<DT><B>See Also: </B><DD><A HREF="../../../../javax/swing/plaf/basic/BasicListUI.html#uninstallUI(javax.swing.JComponent)"><CODE>uninstallUI(javax.swing.JComponent)</CODE></A>, 
<A HREF="../../../../javax/swing/plaf/basic/BasicListUI.html#installListeners()"><CODE>installListeners()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="installDefaults()"><!-- --></A><H3>
installDefaults</H3>
<PRE>
protected void <B>installDefaults</B>()</PRE>
<DL>
<DD>Initialize JList properties, e.g. font, foreground, and background,
 and add the CellRendererPane.  The font, foreground, and background
 properties are only set if their current value is either null
 or a UIResource, other properties are set if the current
 value is null.<DD><DL>
<DT><B>See Also: </B><DD><A HREF="../../../../javax/swing/plaf/basic/BasicListUI.html#uninstallDefaults()"><CODE>uninstallDefaults()</CODE></A>, 
<A HREF="../../../../javax/swing/plaf/basic/BasicListUI.html#installUI(javax.swing.JComponent)"><CODE>installUI(javax.swing.JComponent)</CODE></A>, 
<A HREF="../../../../javax/swing/CellRendererPane.html"><CODE>CellRendererPane</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="uninstallDefaults()"><!-- --></A><H3>
uninstallDefaults</H3>
<PRE>
protected void <B>uninstallDefaults</B>()</PRE>
<DL>
<DD>Set the JList properties that haven't been explicitly overriden to
 null.  A property is considered overridden if its current value
 is not a UIResource.<DD><DL>
<DT><B>See Also: </B><DD><A HREF="../../../../javax/swing/plaf/basic/BasicListUI.html#installDefaults()"><CODE>installDefaults()</CODE></A>, 
<A HREF="../../../../javax/swing/plaf/basic/BasicListUI.html#uninstallUI(javax.swing.JComponent)"><CODE>uninstallUI(javax.swing.JComponent)</CODE></A>, 
<A HREF="../../../../javax/swing/CellRendererPane.html"><CODE>CellRendererPane</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="installUI(javax.swing.JComponent)"><!-- --></A><H3>
installUI</H3>
<PRE>
public void <B>installUI</B>(<A HREF="../../../../javax/swing/JComponent.html">JComponent</A>&nbsp;c)</PRE>
<DL>
<DD>Initializes <code>this.list</code> by calling <code>installDefaults()</code>,
 <code>installListeners()</code>, and <code>installKeyboardActions()</code>
 in order.<DD><DL>
<DT><B>Overrides:</B><DD><A HREF="../../../../javax/swing/plaf/ComponentUI.html#installUI(javax.swing.JComponent)">installUI</A> in class <A HREF="../../../../javax/swing/plaf/ComponentUI.html">ComponentUI</A><DT><B>See Also: </B><DD><A HREF="../../../../javax/swing/plaf/basic/BasicListUI.html#installDefaults()"><CODE>installDefaults()</CODE></A>, 
<A HREF="../../../../javax/swing/plaf/basic/BasicListUI.html#installListeners()"><CODE>installListeners()</CODE></A>, 
<A HREF="../../../../javax/swing/plaf/basic/BasicListUI.html#installKeyboardActions()"><CODE>installKeyboardActions()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="uninstallUI(javax.swing.JComponent)"><!-- --></A><H3>
uninstallUI</H3>
<PRE>
public void <B>uninstallUI</B>(<A HREF="../../../../javax/swing/JComponent.html">JComponent</A>&nbsp;c)</PRE>
<DL>
<DD>Uninitializes <code>this.list</code> by calling <code>uninstallListeners()</code>,
 <code>uninstallKeyboardActions()</code>, and <code>uninstallDefaults()</code>
 in order.  Sets this.list to null.<DD><DL>
<DT><B>Overrides:</B><DD><A HREF="../../../../javax/swing/plaf/ComponentUI.html#uninstallUI(javax.swing.JComponent)">uninstallUI</A> in class <A HREF="../../../../javax/swing/plaf/ComponentUI.html">ComponentUI</A><DT><B>See Also: </B><DD><A HREF="../../../../javax/swing/plaf/basic/BasicListUI.html#uninstallListeners()"><CODE>uninstallListeners()</CODE></A>, 
<A HREF="../../../../javax/swing/plaf/basic/BasicListUI.html#uninstallKeyboardActions()"><CODE>uninstallKeyboardActions()</CODE></A>, 
<A HREF="../../../../javax/swing/plaf/basic/BasicListUI.html#uninstallDefaults()"><CODE>uninstallDefaults()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="createUI(javax.swing.JComponent)"><!-- --></A><H3>
createUI</H3>
<PRE>
public static <A HREF="../../../../javax/swing/plaf/ComponentUI.html">ComponentUI</A> <B>createUI</B>(<A HREF="../../../../javax/swing/JComponent.html">JComponent</A>&nbsp;list)</PRE>
<DL>
<DD>Returns a new instance of BasicListUI.  BasicListUI delegates are
 allocated one per JList.<DD><DL>
<DT><B>Returns:</B><DD>A new ListUI implementation for the Windows look and feel.</DL>
</DD>
</DL>
<HR>

<A NAME="locationToIndex(javax.swing.JList, java.awt.Point)"><!-- --></A><H3>
locationToIndex</H3>
<PRE>
public int <B>locationToIndex</B>(<A HREF="../../../../javax/swing/JList.html">JList</A>&nbsp;list,
                           java.awt.Point&nbsp;location)</PRE>
<DL>
<DD><DL>
<DT><B>Returns:</B><DD>The index of the cell at location, or -1.<DT><B>Overrides:</B><DD><A HREF="../../../../javax/swing/plaf/ListUI.html#locationToIndex(javax.swing.JList, java.awt.Point)">locationToIndex</A> in class <A HREF="../../../../javax/swing/plaf/ListUI.html">ListUI</A><DT><B>See Also: </B><DD><A HREF="../../../../javax/swing/plaf/ListUI.html#locationToIndex(javax.swing.JList, java.awt.Point)"><CODE>ListUI.locationToIndex(javax.swing.JList, java.awt.Point)</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="indexToLocation(javax.swing.JList, int)"><!-- --></A><H3>
indexToLocation</H3>
<PRE>
public java.awt.Point <B>indexToLocation</B>(<A HREF="../../../../javax/swing/JList.html">JList</A>&nbsp;list,
                                      int&nbsp;index)</PRE>
<DL>
<DD><DL>
<DT><B>Returns:</B><DD>The origin of the index'th cell.<DT><B>Overrides:</B><DD><A HREF="../../../../javax/swing/plaf/ListUI.html#indexToLocation(javax.swing.JList, int)">indexToLocation</A> in class <A HREF="../../../../javax/swing/plaf/ListUI.html">ListUI</A><DT><B>See Also: </B><DD><A HREF="../../../../javax/swing/plaf/ListUI.html#indexToLocation(javax.swing.JList, int)"><CODE>ListUI.indexToLocation(javax.swing.JList, int)</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getCellBounds(javax.swing.JList, int, int)"><!-- --></A><H3>
getCellBounds</H3>
<PRE>
public java.awt.Rectangle <B>getCellBounds</B>(<A HREF="../../../../javax/swing/JList.html">JList</A>&nbsp;list,
                                        int&nbsp;index1,
                                        int&nbsp;index2)</PRE>
<DL>
<DD><DL>
<DT><B>Returns:</B><DD>The bounds of the index'th cell.<DT><B>Overrides:</B><DD><A HREF="../../../../javax/swing/plaf/ListUI.html#getCellBounds(javax.swing.JList, int, int)">getCellBounds</A> in class <A HREF="../../../../javax/swing/plaf/ListUI.html">ListUI</A><DT><B>See Also: </B><DD><A HREF="../../../../javax/swing/plaf/ListUI.html#getCellBounds(javax.swing.JList, int, int)"><CODE>ListUI.getCellBounds(javax.swing.JList, int, int)</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getRowHeight(int)"><!-- --></A><H3>
getRowHeight</H3>
<PRE>
protected int <B>getRowHeight</B>(int&nbsp;row)</PRE>
<DL>
<DD>Returns the height of the specified row based on the current layout.<DD><DL>
<DT><B>Returns:</B><DD>The specified row height or -1 if row isn't valid.<DT><B>See Also: </B><DD><A HREF="../../../../javax/swing/plaf/basic/BasicListUI.html#convertYToRow(int)"><CODE>convertYToRow(int)</CODE></A>, 
<A HREF="../../../../javax/swing/plaf/basic/BasicListUI.html#convertRowToY(int)"><CODE>convertRowToY(int)</CODE></A>, 
<A HREF="../../../../javax/swing/plaf/basic/BasicListUI.html#updateLayoutState()"><CODE>updateLayoutState()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="convertYToRow(int)"><!-- --></A><H3>
convertYToRow</H3>
<PRE>
protected int <B>convertYToRow</B>(int&nbsp;y0)</PRE>
<DL>
<DD>Convert the JList relative coordinate to the row that contains it,
 based on the current layout.  If y0 doesn't fall within any row,
 return -1.<DD><DL>
<DT><B>Returns:</B><DD>The row that contains y0, or -1.<DT><B>See Also: </B><DD><A HREF="../../../../javax/swing/plaf/basic/BasicListUI.html#getRowHeight(int)"><CODE>getRowHeight(int)</CODE></A>, 
<A HREF="../../../../javax/swing/plaf/basic/BasicListUI.html#updateLayoutState()"><CODE>updateLayoutState()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="convertRowToY(int)"><!-- --></A><H3>
convertRowToY</H3>
<PRE>
protected int <B>convertRowToY</B>(int&nbsp;row)</PRE>
<DL>
<DD>Return the JList relative Y coordinate of the origin of the specified
 row or -1 if row isn't valid.<DD><DL>
<DT><B>Returns:</B><DD>The Y coordinate of the origin of row, or -1.<DT><B>See Also: </B><DD><A HREF="../../../../javax/swing/plaf/basic/BasicListUI.html#getRowHeight(int)"><CODE>getRowHeight(int)</CODE></A>, 
<A HREF="../../../../javax/swing/plaf/basic/BasicListUI.html#updateLayoutState()"><CODE>updateLayoutState()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="maybeUpdateLayoutState()"><!-- --></A><H3>
maybeUpdateLayoutState</H3>
<PRE>
protected void <B>maybeUpdateLayoutState</B>()</PRE>
<DL>
<DD>If updateLayoutStateNeeded is non zero, call updateLayoutState() and reset
 updateLayoutStateNeeded.  This method should be called by methods
 before doing any computation based on the geometry of the list.
 For example it's the first call in paint() and getPreferredSize().<DD><DL>
<DT><B>See Also: </B><DD><A HREF="../../../../javax/swing/plaf/basic/BasicListUI.html#updateLayoutState()"><CODE>updateLayoutState()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="updateLayoutState()"><!-- --></A><H3>
updateLayoutState</H3>
<PRE>
protected void <B>updateLayoutState</B>()</PRE>
<DL>
<DD>Recompute the value of cellHeight or cellHeights based
 and cellWidth, based on the current font and the current
 values of fixedCellWidth, fixedCellHeight, and prototypeCellValue.<DD><DL>
<DT><B>See Also: </B><DD><A HREF="../../../../javax/swing/plaf/basic/BasicListUI.html#maybeUpdateLayoutState()"><CODE>maybeUpdateLayoutState()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="createMouseInputListener()"><!-- --></A><H3>
createMouseInputListener</H3>
<PRE>
protected <A HREF="../../../../javax/swing/event/MouseInputListener.html">MouseInputListener</A> <B>createMouseInputListener</B>()</PRE>
<DL>
<DD>Creates a delegate that implements MouseInputListener.
 The delegate is added to the corresponding java.awt.Component listener 
 lists at installUI() time. Subclasses can override this method to return 
 a custom MouseInputListener, e.g.
 <pre>
 class MyListUI extends BasicListUI {
    protected MouseInputListener <b>createMouseInputListener</b>() {
        return new MyMouseInputHandler();
    }
    public class MyMouseInputHandler extends MouseInputHandler {
        public void mouseMoved(MouseEvent e) {
            // do some extra work when the mouse moves
            super.mouseMoved(e);
        }
    }
 }
 </pre><DD><DL>
<DT><B>See Also: </B><DD><A HREF="../../../../javax/swing/plaf/basic/BasicListUI.MouseInputHandler.html"><CODE>BasicListUI.MouseInputHandler</CODE></A>, 
<A HREF="../../../../javax/swing/plaf/basic/BasicListUI.html#installUI(javax.swing.JComponent)"><CODE>installUI(javax.swing.JComponent)</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="createFocusListener()"><!-- --></A><H3>
createFocusListener</H3>
<PRE>
protected java.awt.event.FocusListener <B>createFocusListener</B>()</PRE>
<DL>
</DL>
<HR>

<A NAME="createListSelectionListener()"><!-- --></A><H3>
createListSelectionListener</H3>
<PRE>
protected <A HREF="../../../../javax/swing/event/ListSelectionListener.html">ListSelectionListener</A> <B>createListSelectionListener</B>()</PRE>
<DL>
<DD>Creates an instance of ListSelectionHandler that's added to
 the JLists by selectionModel as needed.  Subclasses can override
 this method to return a custom ListSelectionListener, e.g.
 <pre>
 class MyListUI extends BasicListUI {
    protected ListSelectionListener <b>createListSelectionListener</b>() {
        return new MySelectionListener();
    }
    public class MySelectionListener extends ListSelectionHandler {
        public void valueChanged(ListSelectionEvent e) {
            // do some extra work when the selection changes
            super.valueChange(e);
        }
    }
 }
 </pre><DD><DL>
<DT><B>See Also: </B><DD><A HREF="../../../../javax/swing/plaf/basic/BasicListUI.ListSelectionHandler.html"><CODE>BasicListUI.ListSelectionHandler</CODE></A>, 
<A HREF="../../../../javax/swing/plaf/basic/BasicListUI.html#installUI(javax.swing.JComponent)"><CODE>installUI(javax.swing.JComponent)</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="createListDataListener()"><!-- --></A><H3>
createListDataListener</H3>
<PRE>
protected <A HREF="../../../../javax/swing/event/ListDataListener.html">ListDataListener</A> <B>createListDataListener</B>()</PRE>
<DL>
<DD>Creates an instance of ListDataListener that's added to
 the JLists by model as needed.  Subclasses can override
 this method to return a custom ListDataListener, e.g.
 <pre>
 class MyListUI extends BasicListUI {
    protected ListDataListener <b>createListDataListener</b>() {
        return new MyListDataListener();
    }
    public class MyListDataListener extends ListDataHandler {
        public void contentsChanged(ListDataEvent e) {
            // do some extra work when the models contents change
            super.contentsChange(e);
        }
    }
 }
 </pre><DD><DL>
<DT><B>See Also: </B><DD><A HREF="../../../../javax/swing/event/ListDataListener.html"><CODE>ListDataListener</CODE></A>, 
<A HREF="../../../../javax/swing/JList.html#getModel()"><CODE>JList.getModel()</CODE></A>, 
<A HREF="../../../../javax/swing/plaf/basic/BasicListUI.html#installUI(javax.swing.JComponent)"><CODE>installUI(javax.swing.JComponent)</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="createPropertyChangeListener()"><!-- --></A><H3>
createPropertyChangeListener</H3>
<PRE>
protected java.beans.PropertyChangeListener <B>createPropertyChangeListener</B>()</PRE>
<DL>
<DD>Creates an instance of PropertyChangeHandler that's added to
 the JList by installUI().  Subclasses can override this method
 to return a custom PropertyChangeListener, e.g.
 <pre>
 class MyListUI extends BasicListUI {
    protected PropertyChangeListener <b>createPropertyChangeListener</b>() {
        return new MyPropertyChangeListener();
    }
    public class MyPropertyChangeListener extends PropertyChangeHandler {
        public void propertyChange(PropertyChangeEvent e) {
            if (e.getPropertyName().equals("model")) {
                // do some extra work when the model changes
            }
            super.propertyChange(e);
        }
    }
 }
 </pre><DD><DL>
<DT><B>See Also: </B><DD><CODE>PropertyChangeListener</CODE>, 
<A HREF="../../../../javax/swing/plaf/basic/BasicListUI.html#installUI(javax.swing.JComponent)"><CODE>installUI(javax.swing.JComponent)</CODE></A></DL>
</DD>
</DL>
<!-- ========= END OF CLASS DATA ========= -->
<HR>

<!-- ========== START OF NAVBAR ========== -->
<A NAME="navbar_bottom"><!-- --></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" ID="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
  <TR ALIGN="center" VALIGN="top">
  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT ID="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="package-summary.html"><FONT ID="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#FFFFFF" ID="NavBarCell1Rev"> &nbsp;<FONT ID="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="class-use/BasicListUI.html"><FONT ID="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="package-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../../../../index-files/index-1.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
  </TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
Swing 1.1</EM>
</TD>
</TR>

<TR>
<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../../javax/swing/plaf/basic/BasicLabelUI.html"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../javax/swing/plaf/basic/BasicListUI.FocusHandler.html"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../../index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="BasicListUI.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD>
</TR>
<TR>
<TD VALIGN="top" ID="NavBarCell3"><FONT SIZE="-2">
  SUMMARY: &nbsp;<A HREF="#inner_class_summary">INNER</A>&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" ID="NavBarCell3"><FONT SIZE="-2">
DETAIL: &nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<!-- =========== END OF NAVBAR =========== -->

<HR>
<font size="-1"><a href="http://java.sun.com/cgi-bin/bugreport.cgi">Submit a bug or feature</a><br>Java is a trademark or registered trademark of Sun Microsystems,  Inc. in the US and other countries.<br>Copyright 1993-1998 Sun Microsystems, Inc. 901 San Antonio Road,<br>Palo Alto, California, 94303, U.S.A.  All Rights Reserved.</font>
</BODY>
</HTML>
