<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
<!--NewPage-->
<HTML>
<HEAD>
<!-- Generated by javadoc on Tue Jun 29 06:02:16 GMT+01:00 1999 -->
<TITLE>
Swing 1.1 API Specification: Class  DefaultTreeSelectionModel
</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/DefaultTreeSelectionModel.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/tree/DefaultTreeModel.html"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../javax/swing/tree/FixedHeightLayoutCache.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="DefaultTreeSelectionModel.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD>
</TR>
<TR>
<TD VALIGN="top" ID="NavBarCell3"><FONT SIZE="-2">
  SUMMARY: &nbsp;INNER&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.tree</FONT>
<BR>
Class  DefaultTreeSelectionModel</H2>
<PRE>
java.lang.Object
  |
  +--<B>javax.swing.tree.DefaultTreeSelectionModel</B>
</PRE>
<DL>
<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../javax/swing/JTree.EmptySelectionModel.html">JTree.EmptySelectionModel</A></DD>
</DL>
<HR>
<DL>
<DT>public class <B>DefaultTreeSelectionModel</B><DT>extends java.lang.Object<DT>implements java.lang.Cloneable, java.io.Serializable, <A HREF="../../../javax/swing/tree/TreeSelectionModel.html">TreeSelectionModel</A></DL>

<P>
Implementation of TreeSelectionModel.  Listeners are notified whenever
 the paths in the selection change, not the rows. In order
 to be able to track row changes you may wish to become a listener 
 for expansion events on the tree and test for changes from there.
 <p>
 <strong>Warning:</strong>
 Serialized objects of this class will not be compatible with 
 future Swing releases.  The current serialization support is appropriate
 for short term storage or RMI between applications running the same
 version of Swing.  A future release of Swing will provide support for
 long term persistence.
<P>
<DL>
<DT><B>See Also: </B><DD><A HREF="../../../serialized-form.html#javax.swing.tree.DefaultTreeSelectionModel">Serialized Form</A></DL>
<HR>

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


<!-- =========== 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;<A HREF="../../../javax/swing/event/SwingPropertyChangeSupport.html">SwingPropertyChangeSupport</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/swing/tree/DefaultTreeSelectionModel.html#changeSupport">changeSupport</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Used to messaged registered listeners.</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/tree/DefaultTreeSelectionModel.html#leadIndex">leadIndex</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Index of the lead path in selection.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="../../../javax/swing/tree/TreePath.html">TreePath</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/swing/tree/DefaultTreeSelectionModel.html#leadPath">leadPath</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Last path that was added.</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/tree/DefaultTreeSelectionModel.html#leadRow">leadRow</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Lead row.</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/EventListenerList.html">EventListenerList</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/swing/tree/DefaultTreeSelectionModel.html#listenerList">listenerList</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Event listener list.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="../../../javax/swing/DefaultListSelectionModel.html">DefaultListSelectionModel</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/swing/tree/DefaultTreeSelectionModel.html#listSelectionModel">listSelectionModel</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Handles maintaining the list selection model.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="../../../javax/swing/tree/RowMapper.html">RowMapper</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/swing/tree/DefaultTreeSelectionModel.html#rowMapper">rowMapper</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Provides a row for a given path.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="../../../javax/swing/tree/TreePath.html">TreePath</A>[]</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/swing/tree/DefaultTreeSelectionModel.html#selection">selection</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Paths that are currently selected.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/swing/tree/DefaultTreeSelectionModel.html#SELECTION_MODE_PROPERTY">SELECTION_MODE_PROPERTY</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Property name for selectionMode.</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/tree/DefaultTreeSelectionModel.html#selectionMode">selectionMode</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Mode for the selection, will be either SINGLE_TREE_SELECTION,
 CONTIGUOUS_TREE_SELECTION or DISCONTIGUOUS_TREE_SELECTION.</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/tree/DefaultTreeSelectionModel.html#DefaultTreeSelectionModel()">DefaultTreeSelectionModel</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a new instance of DefaultTreeSelectionModel that is
 empty, and having a selection mode of DISCONTIGUOUS_TREE_SELECTION.</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>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/swing/tree/DefaultTreeSelectionModel.html#addPropertyChangeListener(java.beans.PropertyChangeListener)">addPropertyChangeListener</A></B>(java.beans.PropertyChangeListener&nbsp;listener)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Add a PropertyChangeListener to the listener list.</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/tree/DefaultTreeSelectionModel.html#addSelectionPath(javax.swing.tree.TreePath)">addSelectionPath</A></B>(<A HREF="../../../javax/swing/tree/TreePath.html">TreePath</A>&nbsp;path)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Adds path to the current selection.</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/tree/DefaultTreeSelectionModel.html#addSelectionPaths(javax.swing.tree.TreePath[])">addSelectionPaths</A></B>(<A HREF="../../../javax/swing/tree/TreePath.html">TreePath</A>[]&nbsp;paths)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Adds paths to the current selection.</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/tree/DefaultTreeSelectionModel.html#addTreeSelectionListener(javax.swing.event.TreeSelectionListener)">addTreeSelectionListener</A></B>(<A HREF="../../../javax/swing/event/TreeSelectionListener.html">TreeSelectionListener</A>&nbsp;x)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Adds x to the list of listeners that are notified each time the
 selection changes.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/swing/tree/DefaultTreeSelectionModel.html#arePathsContiguous(javax.swing.tree.TreePath[])">arePathsContiguous</A></B>(<A HREF="../../../javax/swing/tree/TreePath.html">TreePath</A>[]&nbsp;paths)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns true if the paths are contiguous.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/swing/tree/DefaultTreeSelectionModel.html#canPathsBeAdded(javax.swing.tree.TreePath[])">canPathsBeAdded</A></B>(<A HREF="../../../javax/swing/tree/TreePath.html">TreePath</A>[]&nbsp;paths)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns true if the paths can be added without breaking the
 continuity of the model.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/swing/tree/DefaultTreeSelectionModel.html#canPathsBeRemoved(javax.swing.tree.TreePath[])">canPathsBeRemoved</A></B>(<A HREF="../../../javax/swing/tree/TreePath.html">TreePath</A>[]&nbsp;paths)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns true if the paths can be removed without breaking the
 continuity of the model.</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/tree/DefaultTreeSelectionModel.html#clearSelection()">clearSelection</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Empties the current selection.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.Object</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/swing/tree/DefaultTreeSelectionModel.html#clone()">clone</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a clone of the reciever with the same selection.</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/tree/DefaultTreeSelectionModel.html#fireValueChanged(javax.swing.event.TreeSelectionEvent)">fireValueChanged</A></B>(<A HREF="../../../javax/swing/event/TreeSelectionEvent.html">TreeSelectionEvent</A>&nbsp;e)</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;<A HREF="../../../javax/swing/tree/TreePath.html">TreePath</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/swing/tree/DefaultTreeSelectionModel.html#getLeadSelectionPath()">getLeadSelectionPath</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the last path that was added.</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/tree/DefaultTreeSelectionModel.html#getLeadSelectionRow()">getLeadSelectionRow</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the lead selection index.</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/tree/DefaultTreeSelectionModel.html#getMaxSelectionRow()">getMaxSelectionRow</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets the last selected row.</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/tree/DefaultTreeSelectionModel.html#getMinSelectionRow()">getMinSelectionRow</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets the first selected row.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../javax/swing/tree/RowMapper.html">RowMapper</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/swing/tree/DefaultTreeSelectionModel.html#getRowMapper()">getRowMapper</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the RowMapper instance that is able to map a path to a
 row.</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/tree/DefaultTreeSelectionModel.html#getSelectionCount()">getSelectionCount</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the number of paths that are selected.</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/tree/DefaultTreeSelectionModel.html#getSelectionMode()">getSelectionMode</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the selection mode.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../javax/swing/tree/TreePath.html">TreePath</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/swing/tree/DefaultTreeSelectionModel.html#getSelectionPath()">getSelectionPath</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the first path in the selection.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../javax/swing/tree/TreePath.html">TreePath</A>[]</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/swing/tree/DefaultTreeSelectionModel.html#getSelectionPaths()">getSelectionPaths</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the paths in the selection.</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/tree/DefaultTreeSelectionModel.html#getSelectionRows()">getSelectionRows</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns all of the currently selected rows.</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/tree/DefaultTreeSelectionModel.html#insureRowContinuity()">insureRowContinuity</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Useful for CONTIGUOUS_TREE_SELECTION.</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/tree/DefaultTreeSelectionModel.html#insureUniqueness()">insureUniqueness</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Insures that all the elements in path are unique.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/swing/tree/DefaultTreeSelectionModel.html#isPathSelected(javax.swing.tree.TreePath)">isPathSelected</A></B>(<A HREF="../../../javax/swing/tree/TreePath.html">TreePath</A>&nbsp;path)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns true if the path, path, is in the current selection.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/swing/tree/DefaultTreeSelectionModel.html#isRowSelected(int)">isRowSelected</A></B>(int&nbsp;row)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns true if the row identitifed by row is selected.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/swing/tree/DefaultTreeSelectionModel.html#isSelectionEmpty()">isSelectionEmpty</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns true if the selection is currently empty.</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/tree/DefaultTreeSelectionModel.html#notifyPathChange(java.util.Vector, javax.swing.tree.TreePath)">notifyPathChange</A></B>(java.util.Vector&nbsp;changedPaths,
                 <A HREF="../../../javax/swing/tree/TreePath.html">TreePath</A>&nbsp;oldLeadSelection)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Notifies listeners of a change in path.</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/tree/DefaultTreeSelectionModel.html#removePropertyChangeListener(java.beans.PropertyChangeListener)">removePropertyChangeListener</A></B>(java.beans.PropertyChangeListener&nbsp;listener)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Remove a PropertyChangeListener from the listener list.</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/tree/DefaultTreeSelectionModel.html#removeSelectionPath(javax.swing.tree.TreePath)">removeSelectionPath</A></B>(<A HREF="../../../javax/swing/tree/TreePath.html">TreePath</A>&nbsp;path)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Removes path from the selection.</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/tree/DefaultTreeSelectionModel.html#removeSelectionPaths(javax.swing.tree.TreePath[])">removeSelectionPaths</A></B>(<A HREF="../../../javax/swing/tree/TreePath.html">TreePath</A>[]&nbsp;paths)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Removes paths from the selection.</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/tree/DefaultTreeSelectionModel.html#removeTreeSelectionListener(javax.swing.event.TreeSelectionListener)">removeTreeSelectionListener</A></B>(<A HREF="../../../javax/swing/event/TreeSelectionListener.html">TreeSelectionListener</A>&nbsp;x)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Removes x from the list of listeners that are notified each time
 the selection changes.</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/tree/DefaultTreeSelectionModel.html#resetRowSelection()">resetRowSelection</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Recalculates what rows are selected by asking the RowMapper for the
 row for each path.</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/tree/DefaultTreeSelectionModel.html#setRowMapper(javax.swing.tree.RowMapper)">setRowMapper</A></B>(<A HREF="../../../javax/swing/tree/RowMapper.html">RowMapper</A>&nbsp;newMapper)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the RowMapper instance.</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/tree/DefaultTreeSelectionModel.html#setSelectionMode(int)">setSelectionMode</A></B>(int&nbsp;mode)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the selection model, which must be one of SINGLE_TREE_SELECTION,
 CONTIGUOUS_TREE_SELECTION or DISCONTIGUOUS_TREE_SELECTION.</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/tree/DefaultTreeSelectionModel.html#setSelectionPath(javax.swing.tree.TreePath)">setSelectionPath</A></B>(<A HREF="../../../javax/swing/tree/TreePath.html">TreePath</A>&nbsp;path)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the selection to path.</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/tree/DefaultTreeSelectionModel.html#setSelectionPaths(javax.swing.tree.TreePath[])">setSelectionPaths</A></B>(<A HREF="../../../javax/swing/tree/TreePath.html">TreePath</A>[]&nbsp;pPaths)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the selection to the paths in paths.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/swing/tree/DefaultTreeSelectionModel.html#toString()">toString</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a string that displays and identifies this
 object's properties.</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/tree/DefaultTreeSelectionModel.html#updateLeadIndex()">updateLeadIndex</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Updates the leadIndex instance variable.</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>equals, 
finalize, 
getClass, 
hashCode, 
notify, 
notifyAll, 
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="SELECTION_MODE_PROPERTY"><!-- --></A><H3>
SELECTION_MODE_PROPERTY</H3>
<PRE>
public static final java.lang.String <B>SELECTION_MODE_PROPERTY</B></PRE>
<DL>
<DD>Property name for selectionMode.</DL>
<HR>

<A NAME="changeSupport"><!-- --></A><H3>
changeSupport</H3>
<PRE>
protected <A HREF="../../../javax/swing/event/SwingPropertyChangeSupport.html">SwingPropertyChangeSupport</A> <B>changeSupport</B></PRE>
<DL>
<DD>Used to messaged registered listeners.</DL>
<HR>

<A NAME="selection"><!-- --></A><H3>
selection</H3>
<PRE>
protected <A HREF="../../../javax/swing/tree/TreePath.html">TreePath</A>[] <B>selection</B></PRE>
<DL>
<DD>Paths that are currently selected.  Will be null if nothing is
 currently selected.</DL>
<HR>

<A NAME="listenerList"><!-- --></A><H3>
listenerList</H3>
<PRE>
protected <A HREF="../../../javax/swing/event/EventListenerList.html">EventListenerList</A> <B>listenerList</B></PRE>
<DL>
<DD>Event listener list.</DL>
<HR>

<A NAME="rowMapper"><!-- --></A><H3>
rowMapper</H3>
<PRE>
protected transient <A HREF="../../../javax/swing/tree/RowMapper.html">RowMapper</A> <B>rowMapper</B></PRE>
<DL>
<DD>Provides a row for a given path.</DL>
<HR>

<A NAME="listSelectionModel"><!-- --></A><H3>
listSelectionModel</H3>
<PRE>
protected <A HREF="../../../javax/swing/DefaultListSelectionModel.html">DefaultListSelectionModel</A> <B>listSelectionModel</B></PRE>
<DL>
<DD>Handles maintaining the list selection model.</DL>
<HR>

<A NAME="selectionMode"><!-- --></A><H3>
selectionMode</H3>
<PRE>
protected int <B>selectionMode</B></PRE>
<DL>
<DD>Mode for the selection, will be either SINGLE_TREE_SELECTION,
 CONTIGUOUS_TREE_SELECTION or DISCONTIGUOUS_TREE_SELECTION.</DL>
<HR>

<A NAME="leadPath"><!-- --></A><H3>
leadPath</H3>
<PRE>
protected <A HREF="../../../javax/swing/tree/TreePath.html">TreePath</A> <B>leadPath</B></PRE>
<DL>
<DD>Last path that was added.</DL>
<HR>

<A NAME="leadIndex"><!-- --></A><H3>
leadIndex</H3>
<PRE>
protected int <B>leadIndex</B></PRE>
<DL>
<DD>Index of the lead path in selection.</DL>
<HR>

<A NAME="leadRow"><!-- --></A><H3>
leadRow</H3>
<PRE>
protected int <B>leadRow</B></PRE>
<DL>
<DD>Lead row.</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="DefaultTreeSelectionModel()"><!-- --></A><H3>
DefaultTreeSelectionModel</H3>
<PRE>
public <B>DefaultTreeSelectionModel</B>()</PRE>
<DL>
<DD>Creates a new instance of DefaultTreeSelectionModel that is
 empty, and having a selection mode of DISCONTIGUOUS_TREE_SELECTION.</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="setRowMapper(javax.swing.tree.RowMapper)"><!-- --></A><H3>
setRowMapper</H3>
<PRE>
public void <B>setRowMapper</B>(<A HREF="../../../javax/swing/tree/RowMapper.html">RowMapper</A>&nbsp;newMapper)</PRE>
<DL>
<DD>Sets the RowMapper instance.  This instance is used to determine
 what row corresponds to what path.<DD><DL>
<DT><B>Specified by: </B><DD><A HREF="../../../javax/swing/tree/TreeSelectionModel.html#setRowMapper(javax.swing.tree.RowMapper)">setRowMapper</A> in interface <A HREF="../../../javax/swing/tree/TreeSelectionModel.html">TreeSelectionModel</A></DL>
</DD>
</DL>
<HR>

<A NAME="getRowMapper()"><!-- --></A><H3>
getRowMapper</H3>
<PRE>
public <A HREF="../../../javax/swing/tree/RowMapper.html">RowMapper</A> <B>getRowMapper</B>()</PRE>
<DL>
<DD>Returns the RowMapper instance that is able to map a path to a
 row.<DD><DL>
<DT><B>Specified by: </B><DD><A HREF="../../../javax/swing/tree/TreeSelectionModel.html#getRowMapper()">getRowMapper</A> in interface <A HREF="../../../javax/swing/tree/TreeSelectionModel.html">TreeSelectionModel</A></DL>
</DD>
</DL>
<HR>

<A NAME="setSelectionMode(int)"><!-- --></A><H3>
setSelectionMode</H3>
<PRE>
public void <B>setSelectionMode</B>(int&nbsp;mode)</PRE>
<DL>
<DD>Sets the selection model, which must be one of SINGLE_TREE_SELECTION,
 CONTIGUOUS_TREE_SELECTION or DISCONTIGUOUS_TREE_SELECTION.<DD><DL>
<DT><B>Specified by: </B><DD><A HREF="../../../javax/swing/tree/TreeSelectionModel.html#setSelectionMode(int)">setSelectionMode</A> in interface <A HREF="../../../javax/swing/tree/TreeSelectionModel.html">TreeSelectionModel</A></DL>
</DD>
</DL>
<HR>

<A NAME="getSelectionMode()"><!-- --></A><H3>
getSelectionMode</H3>
<PRE>
public int <B>getSelectionMode</B>()</PRE>
<DL>
<DD>Returns the selection mode.<DD><DL>
<DT><B>Specified by: </B><DD><A HREF="../../../javax/swing/tree/TreeSelectionModel.html#getSelectionMode()">getSelectionMode</A> in interface <A HREF="../../../javax/swing/tree/TreeSelectionModel.html">TreeSelectionModel</A></DL>
</DD>
</DL>
<HR>

<A NAME="setSelectionPath(javax.swing.tree.TreePath)"><!-- --></A><H3>
setSelectionPath</H3>
<PRE>
public void <B>setSelectionPath</B>(<A HREF="../../../javax/swing/tree/TreePath.html">TreePath</A>&nbsp;path)</PRE>
<DL>
<DD>Sets the selection to path.  If this represents a change, then
 the TreeSelectionListeners are notified.<DD><DL>
<DT><B>Specified by: </B><DD><A HREF="../../../javax/swing/tree/TreeSelectionModel.html#setSelectionPath(javax.swing.tree.TreePath)">setSelectionPath</A> in interface <A HREF="../../../javax/swing/tree/TreeSelectionModel.html">TreeSelectionModel</A><DT><B>Parameters:</B><DD><CODE>path</CODE> - new path to select</DL>
</DD>
</DL>
<HR>

<A NAME="setSelectionPaths(javax.swing.tree.TreePath[])"><!-- --></A><H3>
setSelectionPaths</H3>
<PRE>
public void <B>setSelectionPaths</B>(<A HREF="../../../javax/swing/tree/TreePath.html">TreePath</A>[]&nbsp;pPaths)</PRE>
<DL>
<DD>Sets the selection to the paths in paths.  If this represents a
 change the TreeSelectionListeners are notified.  Potentially
 paths will be held by the reciever, in other words don't change
 any of the objects in the array once passed in.<DD><DL>
<DT><B>Specified by: </B><DD><A HREF="../../../javax/swing/tree/TreeSelectionModel.html#setSelectionPaths(javax.swing.tree.TreePath[])">setSelectionPaths</A> in interface <A HREF="../../../javax/swing/tree/TreeSelectionModel.html">TreeSelectionModel</A><DT><B>Parameters:</B><DD><CODE>paths</CODE> - new selection.</DL>
</DD>
</DL>
<HR>

<A NAME="addSelectionPath(javax.swing.tree.TreePath)"><!-- --></A><H3>
addSelectionPath</H3>
<PRE>
public void <B>addSelectionPath</B>(<A HREF="../../../javax/swing/tree/TreePath.html">TreePath</A>&nbsp;path)</PRE>
<DL>
<DD>Adds path to the current selection.  If path is not currently
 in the selection the TreeSelectionListeners are notified.<DD><DL>
<DT><B>Specified by: </B><DD><A HREF="../../../javax/swing/tree/TreeSelectionModel.html#addSelectionPath(javax.swing.tree.TreePath)">addSelectionPath</A> in interface <A HREF="../../../javax/swing/tree/TreeSelectionModel.html">TreeSelectionModel</A><DT><B>Parameters:</B><DD><CODE>path</CODE> - the new path to add to the current selection.</DL>
</DD>
</DL>
<HR>

<A NAME="addSelectionPaths(javax.swing.tree.TreePath[])"><!-- --></A><H3>
addSelectionPaths</H3>
<PRE>
public void <B>addSelectionPaths</B>(<A HREF="../../../javax/swing/tree/TreePath.html">TreePath</A>[]&nbsp;paths)</PRE>
<DL>
<DD>Adds paths to the current selection.  If any of the paths in 
 paths are not currently in the selection the TreeSelectionListeners
 are notified.<DD><DL>
<DT><B>Specified by: </B><DD><A HREF="../../../javax/swing/tree/TreeSelectionModel.html#addSelectionPaths(javax.swing.tree.TreePath[])">addSelectionPaths</A> in interface <A HREF="../../../javax/swing/tree/TreeSelectionModel.html">TreeSelectionModel</A><DT><B>Parameters:</B><DD><CODE>path</CODE> - the new path to add to the current selection.</DL>
</DD>
</DL>
<HR>

<A NAME="removeSelectionPath(javax.swing.tree.TreePath)"><!-- --></A><H3>
removeSelectionPath</H3>
<PRE>
public void <B>removeSelectionPath</B>(<A HREF="../../../javax/swing/tree/TreePath.html">TreePath</A>&nbsp;path)</PRE>
<DL>
<DD>Removes path from the selection.  If path is in the selection
 The TreeSelectionListeners are notified.<DD><DL>
<DT><B>Specified by: </B><DD><A HREF="../../../javax/swing/tree/TreeSelectionModel.html#removeSelectionPath(javax.swing.tree.TreePath)">removeSelectionPath</A> in interface <A HREF="../../../javax/swing/tree/TreeSelectionModel.html">TreeSelectionModel</A><DT><B>Parameters:</B><DD><CODE>path</CODE> - the path to remove from the selection.</DL>
</DD>
</DL>
<HR>

<A NAME="removeSelectionPaths(javax.swing.tree.TreePath[])"><!-- --></A><H3>
removeSelectionPaths</H3>
<PRE>
public void <B>removeSelectionPaths</B>(<A HREF="../../../javax/swing/tree/TreePath.html">TreePath</A>[]&nbsp;paths)</PRE>
<DL>
<DD>Removes paths from the selection.  If any of the paths in paths
 are in the selection the TreeSelectionListeners are notified.<DD><DL>
<DT><B>Specified by: </B><DD><A HREF="../../../javax/swing/tree/TreeSelectionModel.html#removeSelectionPaths(javax.swing.tree.TreePath[])">removeSelectionPaths</A> in interface <A HREF="../../../javax/swing/tree/TreeSelectionModel.html">TreeSelectionModel</A><DT><B>Parameters:</B><DD><CODE>path</CODE> - the path to remove from the selection.</DL>
</DD>
</DL>
<HR>

<A NAME="getSelectionPath()"><!-- --></A><H3>
getSelectionPath</H3>
<PRE>
public <A HREF="../../../javax/swing/tree/TreePath.html">TreePath</A> <B>getSelectionPath</B>()</PRE>
<DL>
<DD>Returns the first path in the selection.<DD><DL>
<DT><B>Specified by: </B><DD><A HREF="../../../javax/swing/tree/TreeSelectionModel.html#getSelectionPath()">getSelectionPath</A> in interface <A HREF="../../../javax/swing/tree/TreeSelectionModel.html">TreeSelectionModel</A></DL>
</DD>
</DL>
<HR>

<A NAME="getSelectionPaths()"><!-- --></A><H3>
getSelectionPaths</H3>
<PRE>
public <A HREF="../../../javax/swing/tree/TreePath.html">TreePath</A>[] <B>getSelectionPaths</B>()</PRE>
<DL>
<DD>Returns the paths in the selection.<DD><DL>
<DT><B>Specified by: </B><DD><A HREF="../../../javax/swing/tree/TreeSelectionModel.html#getSelectionPaths()">getSelectionPaths</A> in interface <A HREF="../../../javax/swing/tree/TreeSelectionModel.html">TreeSelectionModel</A></DL>
</DD>
</DL>
<HR>

<A NAME="getSelectionCount()"><!-- --></A><H3>
getSelectionCount</H3>
<PRE>
public int <B>getSelectionCount</B>()</PRE>
<DL>
<DD>Returns the number of paths that are selected.<DD><DL>
<DT><B>Specified by: </B><DD><A HREF="../../../javax/swing/tree/TreeSelectionModel.html#getSelectionCount()">getSelectionCount</A> in interface <A HREF="../../../javax/swing/tree/TreeSelectionModel.html">TreeSelectionModel</A></DL>
</DD>
</DL>
<HR>

<A NAME="isPathSelected(javax.swing.tree.TreePath)"><!-- --></A><H3>
isPathSelected</H3>
<PRE>
public boolean <B>isPathSelected</B>(<A HREF="../../../javax/swing/tree/TreePath.html">TreePath</A>&nbsp;path)</PRE>
<DL>
<DD>Returns true if the path, path, is in the current selection.<DD><DL>
<DT><B>Specified by: </B><DD><A HREF="../../../javax/swing/tree/TreeSelectionModel.html#isPathSelected(javax.swing.tree.TreePath)">isPathSelected</A> in interface <A HREF="../../../javax/swing/tree/TreeSelectionModel.html">TreeSelectionModel</A></DL>
</DD>
</DL>
<HR>

<A NAME="isSelectionEmpty()"><!-- --></A><H3>
isSelectionEmpty</H3>
<PRE>
public boolean <B>isSelectionEmpty</B>()</PRE>
<DL>
<DD>Returns true if the selection is currently empty.<DD><DL>
<DT><B>Specified by: </B><DD><A HREF="../../../javax/swing/tree/TreeSelectionModel.html#isSelectionEmpty()">isSelectionEmpty</A> in interface <A HREF="../../../javax/swing/tree/TreeSelectionModel.html">TreeSelectionModel</A></DL>
</DD>
</DL>
<HR>

<A NAME="clearSelection()"><!-- --></A><H3>
clearSelection</H3>
<PRE>
public void <B>clearSelection</B>()</PRE>
<DL>
<DD>Empties the current selection.  If this represents a change in the
 current selection, the selection listeners are notified.<DD><DL>
<DT><B>Specified by: </B><DD><A HREF="../../../javax/swing/tree/TreeSelectionModel.html#clearSelection()">clearSelection</A> in interface <A HREF="../../../javax/swing/tree/TreeSelectionModel.html">TreeSelectionModel</A></DL>
</DD>
</DL>
<HR>

<A NAME="addTreeSelectionListener(javax.swing.event.TreeSelectionListener)"><!-- --></A><H3>
addTreeSelectionListener</H3>
<PRE>
public void <B>addTreeSelectionListener</B>(<A HREF="../../../javax/swing/event/TreeSelectionListener.html">TreeSelectionListener</A>&nbsp;x)</PRE>
<DL>
<DD>Adds x to the list of listeners that are notified each time the
 selection changes.<DD><DL>
<DT><B>Specified by: </B><DD><A HREF="../../../javax/swing/tree/TreeSelectionModel.html#addTreeSelectionListener(javax.swing.event.TreeSelectionListener)">addTreeSelectionListener</A> in interface <A HREF="../../../javax/swing/tree/TreeSelectionModel.html">TreeSelectionModel</A><DT><B>Parameters:</B><DD><CODE>x</CODE> - the new listener to be added.</DL>
</DD>
</DL>
<HR>

<A NAME="removeTreeSelectionListener(javax.swing.event.TreeSelectionListener)"><!-- --></A><H3>
removeTreeSelectionListener</H3>
<PRE>
public void <B>removeTreeSelectionListener</B>(<A HREF="../../../javax/swing/event/TreeSelectionListener.html">TreeSelectionListener</A>&nbsp;x)</PRE>
<DL>
<DD>Removes x from the list of listeners that are notified each time
 the selection changes.<DD><DL>
<DT><B>Specified by: </B><DD><A HREF="../../../javax/swing/tree/TreeSelectionModel.html#removeTreeSelectionListener(javax.swing.event.TreeSelectionListener)">removeTreeSelectionListener</A> in interface <A HREF="../../../javax/swing/tree/TreeSelectionModel.html">TreeSelectionModel</A><DT><B>Parameters:</B><DD><CODE>x</CODE> - the listener to remove.</DL>
</DD>
</DL>
<HR>

<A NAME="fireValueChanged(javax.swing.event.TreeSelectionEvent)"><!-- --></A><H3>
fireValueChanged</H3>
<PRE>
protected void <B>fireValueChanged</B>(<A HREF="../../../javax/swing/event/TreeSelectionEvent.html">TreeSelectionEvent</A>&nbsp;e)</PRE>
<DL>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getSelectionRows()"><!-- --></A><H3>
getSelectionRows</H3>
<PRE>
public int[] <B>getSelectionRows</B>()</PRE>
<DL>
<DD>Returns all of the currently selected rows.<DD><DL>
<DT><B>Specified by: </B><DD><A HREF="../../../javax/swing/tree/TreeSelectionModel.html#getSelectionRows()">getSelectionRows</A> in interface <A HREF="../../../javax/swing/tree/TreeSelectionModel.html">TreeSelectionModel</A></DL>
</DD>
</DL>
<HR>

<A NAME="getMinSelectionRow()"><!-- --></A><H3>
getMinSelectionRow</H3>
<PRE>
public int <B>getMinSelectionRow</B>()</PRE>
<DL>
<DD>Gets the first selected row.<DD><DL>
<DT><B>Specified by: </B><DD><A HREF="../../../javax/swing/tree/TreeSelectionModel.html#getMinSelectionRow()">getMinSelectionRow</A> in interface <A HREF="../../../javax/swing/tree/TreeSelectionModel.html">TreeSelectionModel</A></DL>
</DD>
</DL>
<HR>

<A NAME="getMaxSelectionRow()"><!-- --></A><H3>
getMaxSelectionRow</H3>
<PRE>
public int <B>getMaxSelectionRow</B>()</PRE>
<DL>
<DD>Gets the last selected row.<DD><DL>
<DT><B>Specified by: </B><DD><A HREF="../../../javax/swing/tree/TreeSelectionModel.html#getMaxSelectionRow()">getMaxSelectionRow</A> in interface <A HREF="../../../javax/swing/tree/TreeSelectionModel.html">TreeSelectionModel</A></DL>
</DD>
</DL>
<HR>

<A NAME="isRowSelected(int)"><!-- --></A><H3>
isRowSelected</H3>
<PRE>
public boolean <B>isRowSelected</B>(int&nbsp;row)</PRE>
<DL>
<DD>Returns true if the row identitifed by row is selected.<DD><DL>
<DT><B>Specified by: </B><DD><A HREF="../../../javax/swing/tree/TreeSelectionModel.html#isRowSelected(int)">isRowSelected</A> in interface <A HREF="../../../javax/swing/tree/TreeSelectionModel.html">TreeSelectionModel</A></DL>
</DD>
</DL>
<HR>

<A NAME="resetRowSelection()"><!-- --></A><H3>
resetRowSelection</H3>
<PRE>
public void <B>resetRowSelection</B>()</PRE>
<DL>
<DD>Recalculates what rows are selected by asking the RowMapper for the
 row for each path.<DD><DL>
<DT><B>Specified by: </B><DD><A HREF="../../../javax/swing/tree/TreeSelectionModel.html#resetRowSelection()">resetRowSelection</A> in interface <A HREF="../../../javax/swing/tree/TreeSelectionModel.html">TreeSelectionModel</A></DL>
</DD>
</DL>
<HR>

<A NAME="getLeadSelectionRow()"><!-- --></A><H3>
getLeadSelectionRow</H3>
<PRE>
public int <B>getLeadSelectionRow</B>()</PRE>
<DL>
<DD>Returns the lead selection index. That is the last index that was
 added.<DD><DL>
<DT><B>Specified by: </B><DD><A HREF="../../../javax/swing/tree/TreeSelectionModel.html#getLeadSelectionRow()">getLeadSelectionRow</A> in interface <A HREF="../../../javax/swing/tree/TreeSelectionModel.html">TreeSelectionModel</A></DL>
</DD>
</DL>
<HR>

<A NAME="getLeadSelectionPath()"><!-- --></A><H3>
getLeadSelectionPath</H3>
<PRE>
public <A HREF="../../../javax/swing/tree/TreePath.html">TreePath</A> <B>getLeadSelectionPath</B>()</PRE>
<DL>
<DD>Returns the last path that was added.<DD><DL>
<DT><B>Specified by: </B><DD><A HREF="../../../javax/swing/tree/TreeSelectionModel.html#getLeadSelectionPath()">getLeadSelectionPath</A> in interface <A HREF="../../../javax/swing/tree/TreeSelectionModel.html">TreeSelectionModel</A></DL>
</DD>
</DL>
<HR>

<A NAME="addPropertyChangeListener(java.beans.PropertyChangeListener)"><!-- --></A><H3>
addPropertyChangeListener</H3>
<PRE>
public void <B>addPropertyChangeListener</B>(java.beans.PropertyChangeListener&nbsp;listener)</PRE>
<DL>
<DD>Add a PropertyChangeListener to the listener list.
 The listener is registered for all properties.
 <p>
 A PropertyChangeEvent will get fired in response to an
 explicit setFont, setBackground, or SetForeground on the
 current component.  Note that if the current component is
 inheriting its foreground, background, or font from its
 container, then no event will be fired in response to a
 change in the inherited property.<DD><DL>
<DT><B>Specified by: </B><DD><A HREF="../../../javax/swing/tree/TreeSelectionModel.html#addPropertyChangeListener(java.beans.PropertyChangeListener)">addPropertyChangeListener</A> in interface <A HREF="../../../javax/swing/tree/TreeSelectionModel.html">TreeSelectionModel</A><DT><B>Parameters:</B><DD><CODE>listener</CODE> - The PropertyChangeListener to be added</DL>
</DD>
</DL>
<HR>

<A NAME="removePropertyChangeListener(java.beans.PropertyChangeListener)"><!-- --></A><H3>
removePropertyChangeListener</H3>
<PRE>
public void <B>removePropertyChangeListener</B>(java.beans.PropertyChangeListener&nbsp;listener)</PRE>
<DL>
<DD>Remove a PropertyChangeListener from the listener list.
 This removes a PropertyChangeListener that was registered
 for all properties.<DD><DL>
<DT><B>Specified by: </B><DD><A HREF="../../../javax/swing/tree/TreeSelectionModel.html#removePropertyChangeListener(java.beans.PropertyChangeListener)">removePropertyChangeListener</A> in interface <A HREF="../../../javax/swing/tree/TreeSelectionModel.html">TreeSelectionModel</A><DT><B>Parameters:</B><DD><CODE>listener</CODE> - The PropertyChangeListener to be removed</DL>
</DD>
</DL>
<HR>

<A NAME="insureRowContinuity()"><!-- --></A><H3>
insureRowContinuity</H3>
<PRE>
protected void <B>insureRowContinuity</B>()</PRE>
<DL>
<DD>Useful for CONTIGUOUS_TREE_SELECTION. If the rows that are selected
 are not contiguous then the selection is reset to be contiguous.
 Or if the selection mode is single selection and more than one
 this is selected the selection is reset.<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="arePathsContiguous(javax.swing.tree.TreePath[])"><!-- --></A><H3>
arePathsContiguous</H3>
<PRE>
protected boolean <B>arePathsContiguous</B>(<A HREF="../../../javax/swing/tree/TreePath.html">TreePath</A>[]&nbsp;paths)</PRE>
<DL>
<DD>Returns true if the paths are contiguous.<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="canPathsBeAdded(javax.swing.tree.TreePath[])"><!-- --></A><H3>
canPathsBeAdded</H3>
<PRE>
protected boolean <B>canPathsBeAdded</B>(<A HREF="../../../javax/swing/tree/TreePath.html">TreePath</A>[]&nbsp;paths)</PRE>
<DL>
<DD>Returns true if the paths can be added without breaking the
 continuity of the model.<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="canPathsBeRemoved(javax.swing.tree.TreePath[])"><!-- --></A><H3>
canPathsBeRemoved</H3>
<PRE>
protected boolean <B>canPathsBeRemoved</B>(<A HREF="../../../javax/swing/tree/TreePath.html">TreePath</A>[]&nbsp;paths)</PRE>
<DL>
<DD>Returns true if the paths can be removed without breaking the
 continuity of the model.
 This is rather expensive.<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="notifyPathChange(java.util.Vector, javax.swing.tree.TreePath)"><!-- --></A><H3>
notifyPathChange</H3>
<PRE>
protected void <B>notifyPathChange</B>(java.util.Vector&nbsp;changedPaths,
                                <A HREF="../../../javax/swing/tree/TreePath.html">TreePath</A>&nbsp;oldLeadSelection)</PRE>
<DL>
<DD>Notifies listeners of a change in path. changePaths should contain
 instances of PathPlaceHolder.<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="updateLeadIndex()"><!-- --></A><H3>
updateLeadIndex</H3>
<PRE>
protected void <B>updateLeadIndex</B>()</PRE>
<DL>
<DD>Updates the leadIndex instance variable.<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="insureUniqueness()"><!-- --></A><H3>
insureUniqueness</H3>
<PRE>
protected void <B>insureUniqueness</B>()</PRE>
<DL>
<DD>Insures that all the elements in path are unique.  This does not
 check for a null selection!<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="toString()"><!-- --></A><H3>
toString</H3>
<PRE>
public java.lang.String <B>toString</B>()</PRE>
<DL>
<DD>Returns a string that displays and identifies this
 object's properties.<DD><DL>
<DT><B>Returns:</B><DD>a String representation of this object<DT><B>Overrides:</B><DD>toString in class java.lang.Object</DL>
</DD>
</DL>
<HR>

<A NAME="clone()"><!-- --></A><H3>
clone</H3>
<PRE>
public java.lang.Object <B>clone</B>()
                       throws java.lang.CloneNotSupportedException</PRE>
<DL>
<DD>Returns a clone of the reciever with the same selection.
 selectionListeners, and PropertyListeners are not duplicated.<DD><DL>
<DT><B>Throws:</B><DD>java.lang.CloneNotSupportedException - if the receiver does not
    both (a) implement the Cloneable interface and (b) define a
    <code>clone</code> method.<DT><B>Overrides:</B><DD>clone in class java.lang.Object</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/DefaultTreeSelectionModel.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/tree/DefaultTreeModel.html"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../javax/swing/tree/FixedHeightLayoutCache.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="DefaultTreeSelectionModel.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD>
</TR>
<TR>
<TD VALIGN="top" ID="NavBarCell3"><FONT SIZE="-2">
  SUMMARY: &nbsp;INNER&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>
