📄 jtree.html
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd"><!--NewPage--><HTML><HEAD><!-- Generated by javadoc on Thu Apr 27 23:39:41 PDT 2000 --><TITLE>Java 2 Platform SE v1.3: Class JTree</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" CLASS="NavBarCell1"><A NAME="navbar_top_firstrow"><!-- --></A><TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3"> <TR ALIGN="center" VALIGN="top"> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD> <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/JTree.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../index-files/index-1.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD> </TR></TABLE></TD><TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM><b>Java<sup><font size=-2>TM</font></sup> 2 Platform<br>Std. Ed. v1.3</b></EM></TD></TR><TR><TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> <A HREF="../../javax/swing/JToolTip.AccessibleJToolTip.html"><B>PREV CLASS</B></A> <A HREF="../../javax/swing/JTree.AccessibleJTree.html"><B>NEXT CLASS</B></A></FONT></TD><TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> <A HREF="../../index.html" TARGET="_top"><B>FRAMES</B></A> <A HREF="JTree.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD></TR><TR><TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> SUMMARY: <A HREF="#inner_class_summary">INNER</A> | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD><TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD></TR></TABLE><!-- =========== END OF NAVBAR =========== --><HR><!-- ======== START OF CLASS DATA ======== --><H2><FONT SIZE="-1">javax.swing</FONT><BR>Class JTree</H2><PRE><A HREF="../../java/lang/Object.html">java.lang.Object</A> | +--<A HREF="../../java/awt/Component.html">java.awt.Component</A> | +--<A HREF="../../java/awt/Container.html">java.awt.Container</A> | +--<A HREF="../../javax/swing/JComponent.html">javax.swing.JComponent</A> | +--<B>javax.swing.JTree</B></PRE><DL><DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../javax/accessibility/Accessible.html">Accessible</A>, <A HREF="../../java/awt/image/ImageObserver.html">ImageObserver</A>, <A HREF="../../java/awt/MenuContainer.html">MenuContainer</A>, <A HREF="../../javax/swing/Scrollable.html">Scrollable</A>, <A HREF="../../java/io/Serializable.html">Serializable</A></DD></DL><HR><DL><DT>public class <B>JTree</B><DT>extends <A HREF="../../javax/swing/JComponent.html">JComponent</A><DT>implements <A HREF="../../javax/swing/Scrollable.html">Scrollable</A>, <A HREF="../../javax/accessibility/Accessible.html">Accessible</A></DL><P><a name="jtree_description"> A control that displays a set of hierarchical data as an outline. You can find task-oriented documentation and examples of using trees in <a href="http://java.sun.com/docs/books/tutorial/uiswing/components/tree.html">How to Use Trees</a>, a section in <em>The Java Tutorial.</em> <p> A specific node in a tree can be identified either by a <code>TreePath</code> (an object that encapsulates a node and all of its ancestors), or by its display row, where each row in the display area displays one node. An <i>expanded</i> node is one displays its children. A <i>collapsed</i> node is one which hides them. A <i>hidden</i> node is one which is under a collapsed ancestor. All of a <i>viewable</i> nodes parents are expanded, but may or may not be displayed. A <i>displayed</i> node is both viewable and in the display area, where it can be seen. <p> The following <code>JTree</code> methods use "visible" to mean "displayed": <ul> <li><code>isRootVisible()</code> <li><code>setRootVisible()</code> <li><code>scrollPathToVisible()</code> <li><code>scrollRowToVisible()</code> <li><code>getVisibleRowCount()</code> <li><code>setVisibleRowCount()</code> </ul> <p> The next group of <code>JTree</code> methods use "visible" to mean "viewable" (under an expanded parent): <ul> <li><code>isVisible()</code> <li><code>makeVisible()</code> </ul> <p> If you are interested in knowing when the selection changes implement the <code>TreeSelectionListener</code> interface and add the instance using the method <code>addTreeSelectionListener</code>. <code>valueChanged</code> will be invoked when the selection changes, that is if the user clicks twice on the same node <code>valueChanged</code> will only be invoked once. <p> If you are interested in detecting either double-click events or when a user clicks on a node, regardless of whether or not it was selected, we recommend you do the following: <pre> final JTree tree = ...; MouseListener ml = new MouseAdapter() { public void <b>mousePressed</b>(MouseEvent e) { int selRow = tree.getRowForLocation(e.getX(), e.getY()); TreePath selPath = tree.getPathForLocation(e.getX(), e.getY()); if(selRow != -1) { if(e.getClickCount() == 1) { mySingleClick(selRow, selPath); } else if(e.getClickCount() == 2) { myDoubleClick(selRow, selPath); } } } }; tree.addMouseListener(ml); </pre> NOTE: This example obtains both the path and row, but you only need to get the one you're interested in. <p> To use <code>JTree</code> to display compound nodes (for example, nodes containing both a graphic icon and text), subclass <A HREF="../../javax/swing/tree/TreeCellRenderer.html"><CODE>TreeCellRenderer</CODE></A> and use <A HREF="../../javax/swing/JTree.html#setCellRenderer(javax.swing.tree.TreeCellRenderer)"><CODE>setCellRenderer(javax.swing.tree.TreeCellRenderer)</CODE></A> to tell the tree to use it. To edit such nodes, subclass <A HREF="../../javax/swing/tree/TreeCellEditor.html"><CODE>TreeCellEditor</CODE></A> and use <A HREF="../../javax/swing/JTree.html#setCellEditor(javax.swing.tree.TreeCellEditor)"><CODE>setCellEditor(javax.swing.tree.TreeCellEditor)</CODE></A>. <p> Like all <code>JComponent</code> classes, you can use <A HREF="../../javax/swing/InputMap.html"><CODE>InputMap</CODE></A> and <A HREF="../../javax/swing/ActionMap.html"><CODE>ActionMap</CODE></A> to associate an <A HREF="../../javax/swing/Action.html"><CODE>Action</CODE></A> object with a <A HREF="../../javax/swing/KeyStroke.html"><CODE>KeyStroke</CODE></A> and execute the action under specified conditions. <p> For the keyboard keys used by this component in the standard Look and Feel (L&F) renditions, see the <a href="doc-files/Key-Index.html#JTree">JTree</a> key assignments. <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.JTree">Serialized Form</A></DL><HR><P><!-- ======== INNER CLASS SUMMARY ======== --><A NAME="inner_class_summary"><!-- --></A><TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%"><TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"><TD COLSPAN=2><FONT SIZE="+2"><B>Inner Class Summary</B></FONT></TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE>protected class</CODE></FONT></TD><TD><CODE><B><A HREF="../../javax/swing/JTree.AccessibleJTree.html">JTree.AccessibleJTree</A></B></CODE><BR> This class implements accessibility support for the <code>JTree</code> class.</TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE>static class</CODE></FONT></TD><TD><CODE><B><A HREF="../../javax/swing/JTree.DynamicUtilTreeNode.html">JTree.DynamicUtilTreeNode</A></B></CODE><BR> <code>DynamicUtilTreeNode</code> can wrap vectors/hashtables/arrays/strings and create the appropriate children tree nodes as necessary.</TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE>protected static class</CODE></FONT></TD><TD><CODE><B><A HREF="../../javax/swing/JTree.EmptySelectionModel.html">JTree.EmptySelectionModel</A></B></CODE><BR> <code>EmptySelectionModel</code> is a <code>TreeSelectionModel</code> that does not allow anything to be selected.</TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE>protected class</CODE></FONT></TD><TD><CODE><B><A HREF="../../javax/swing/JTree.TreeModelHandler.html">JTree.TreeModelHandler</A></B></CODE><BR> Listens to the model and updates the <code>expandedState</code> accordingly when nodes are removed, or changed.</TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE>protected class</CODE></FONT></TD><TD><CODE><B><A HREF="../../javax/swing/JTree.TreeSelectionRedirector.html">JTree.TreeSelectionRedirector</A></B></CODE><BR> Handles creating a new <code>TreeSelectionEvent</code> with the <code>JTree</code> as the source and passing it off to all the listeners.</TD></TR></TABLE> <A NAME="inner_classes_inherited_from_class_javax.swing.JComponent"><!-- --></A><TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%"><TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"><TD><B>Inner classes inherited from class javax.swing.<A HREF="../../javax/swing/JComponent.html">JComponent</A></B></TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD><CODE><A HREF="../../javax/swing/JComponent.AccessibleJComponent.html">JComponent.AccessibleJComponent</A></CODE></TD></TR></TABLE> <A NAME="inner_classes_inherited_from_class_java.awt.Container"><!-- --></A><TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%"><TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"><TD><B>Inner classes inherited from class java.awt.<A HREF="../../java/awt/Container.html">Container</A></B></TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD><CODE><A HREF="../../java/awt/Container.AccessibleAWTContainer.html">Container.AccessibleAWTContainer</A></CODE></TD></TR></TABLE> <A NAME="inner_classes_inherited_from_class_java.awt.Component"><!-- --></A><TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%"><TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"><TD><B>Inner classes inherited from class java.awt.<A HREF="../../java/awt/Component.html">Component</A></B></TD>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -