320 lines
14 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<div class="header">
<div class="subTitle">
javax.swing.tree
</div>
<h2 class="title" title="Interface TreeModel">Interface TreeModel</h2>
</div><div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>
所有已知实现类:
</dt>
<dd>
<span><a href="../../../javax/swing/tree/DefaultTreeModel.html" title="javax.swing.tree中的类">DefaultTreeModel</a></span>
</dd>
</dl>
<hr/> <br/> <pre>public interface <span class="typeNameLabel">TreeModel</span></pre>
<div class="block">
<span>该模型由<code>JTree</code></span>
<p> <span><code>JTree</code>及其相关类广泛使用的<code>TreePath</code> S表示在确定节点<code>TreeModel</code></span> <span>如果<code>TreeModel</code>返回相同的对象,与<code>equals</code>相比,在相同父母的两个不同指数下,所得到的<code>TreePath</code>对象也将被视为相等。</span> <span>一些实现可以假设如果两个<code>TreePath</code>相同,则它们标识相同的节点。</span> <span>如果不符合条件,可能会导致绘画问题和其他怪物。</span> <span>换句话说,如果给定父级的<code>getChild</code>返回相同的对象(由<code>equals</code> ),可能会导致问题,建议您避免这样做。</span> </p>
<p> <span>同样<code>JTree</code>及其相关课程在<code>TreePath</code> s中<code>Map</code> s。</span> <span>因此,如果节点被请求两次,则返回值必须相等(使用<code>equals</code>方法)并具有相同的<code>hashCode</code></span> </p>
<p> <span>有关树模型的更多信息,包括自定义实现的示例,请参阅<em>Java教程</em><em></em> <a href="http://docs.oracle.com/javase/tutorial/uiswing/components/tree.html">How to Use Trees</a> <em></em></span> </p>
</div>
<dl>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<span><a href="../../../javax/swing/tree/TreePath.html" title="javax.swing.tree中的类"><code>TreePath</code></a></span>
</dd>
</dl> </li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- --> </a> <h3>方法摘要</h3>
<table border="0" cellpadding="3" cellspacing="0" class="memberSummary" summary="Method Summary table, listing methods, and an explanation">
<caption>
<span class="activeTableTab" id="t0"><span>所有方法</span><span class="tabEnd"> </span></span>
<span class="tableTab" id="t2"><span><a href="javascript:show(2);">接口方法</a></span><span class="tabEnd"> </span></span>
<span class="tableTab" id="t3"><span><a href="javascript:show(4);">抽象方法</a></span><span class="tabEnd"> </span></span>
</caption>
<tbody>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr class="altColor" id="i0">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/swing/tree/TreeModel.html#addTreeModelListener-javax.swing.event.TreeModelListener-">addTreeModelListener</a></span>(<a href="../../../javax/swing/event/TreeModelListener.html" title="interface in javax.swing.event">TreeModelListener</a> l)</code>
<div class="block">
添加一个监听器为
<code>TreeModelEvent</code>发布树后更改。
</div> </td>
</tr>
<tr class="rowColor" id="i1">
<td class="colFirst"><code><a href="../../../java/lang/Object.html" title="class in java.lang">Object</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/swing/tree/TreeModel.html#getChild-java.lang.Object-int-">getChild</a></span>(<a href="../../../java/lang/Object.html" title="class in java.lang">Object</a> parent, int index)</code>
<div class="block">
返回的孩子
<code>parent</code>索引
<code>index</code>父项的子阵列英寸
</div> </td>
</tr>
<tr class="altColor" id="i2">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/swing/tree/TreeModel.html#getChildCount-java.lang.Object-">getChildCount</a></span>(<a href="../../../java/lang/Object.html" title="class in java.lang">Object</a> parent)</code>
<div class="block">
返回
<code>parent</code>的孩子
<code>parent</code>
</div> </td>
</tr>
<tr class="rowColor" id="i3">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/swing/tree/TreeModel.html#getIndexOfChild-java.lang.Object-java.lang.Object-">getIndexOfChild</a></span>(<a href="../../../java/lang/Object.html" title="class in java.lang">Object</a> parent, <a href="../../../java/lang/Object.html" title="class in java.lang">Object</a> child)</code>
<div class="block">
返回父项中的子项的索引。
</div> </td>
</tr>
<tr class="altColor" id="i4">
<td class="colFirst"><code><a href="../../../java/lang/Object.html" title="class in java.lang">Object</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/swing/tree/TreeModel.html#getRoot--">getRoot</a></span>()</code>
<div class="block">
返回树的根。
</div> </td>
</tr>
<tr class="rowColor" id="i5">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/swing/tree/TreeModel.html#isLeaf-java.lang.Object-">isLeaf</a></span>(<a href="../../../java/lang/Object.html" title="class in java.lang">Object</a> node)</code>
<div class="block">
如果
<code>node</code>是叶,则返回
<code>true</code>
</div> </td>
</tr>
<tr class="altColor" id="i6">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/swing/tree/TreeModel.html#removeTreeModelListener-javax.swing.event.TreeModelListener-">removeTreeModelListener</a></span>(<a href="../../../javax/swing/event/TreeModelListener.html" title="interface in javax.swing.event">TreeModelListener</a> l)</code>
<div class="block">
删除之前添加的
<code>addTreeModelListener</code>的侦听器。
</div> </td>
</tr>
<tr class="rowColor" id="i7">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/swing/tree/TreeModel.html#valueForPathChanged-javax.swing.tree.TreePath-java.lang.Object-">valueForPathChanged</a></span>(<a href="../../../javax/swing/tree/TreePath.html" title="class in javax.swing.tree">TreePath</a> path, <a href="../../../java/lang/Object.html" title="class in java.lang">Object</a> newValue)</code>
<div class="block">
当用户将由
<code>path</code>的项目的值更改为newValue时
<code>path</code>
<code>newValue</code>
</div> </td>
</tr>
</tbody>
</table> </li>
</ul> </li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- --> </a> <h3>方法详细信息</h3> <a name="getRoot--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getRoot</h4> <pre><a href="../../../java/lang/Object.html" title="class in java.lang">Object</a> getRoot()</pre>
<div class="block">
<span>返回树的根。</span>
<span>只有当树没有节点时才返回<code>null</code></span>
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
树的根
</dd>
</dl> </li>
</ul> <a name="getChild-java.lang.Object-int-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getChild</h4> <pre><a href="../../../java/lang/Object.html" title="class in java.lang">Object</a> getChild(<a href="../../../java/lang/Object.html" title="class in java.lang">Object</a> parent,
int index)</pre>
<div class="block">
<span>返回的孩子<code>parent</code>索引<code>index</code>父项的子阵列英寸</span>
<span><code>parent</code>必须是先前从此数据源获取的节点。</span>
<span>如果<code>index</code><code>parent</code> (即<code>index &gt;= 0 &amp;&amp; index &lt; getChildCount(parent</code> )的有效索引,则不应返回<code>null</code> )。</span>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>parent</code> - 从该数据源获取的树中的一个节点
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
<code>parent</code>的孩子在索引
<code>index</code>
</dd>
</dl> </li>
</ul> <a name="getChildCount-java.lang.Object-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getChildCount</h4> <pre>int getChildCount(<a href="../../../java/lang/Object.html" title="class in java.lang">Object</a> parent)</pre>
<div class="block">
<span>返回<code>parent</code>的孩子<code>parent</code></span>
<span>如果节点是叶子或没有子节点则返回0。</span>
<span><code>parent</code>必须是先前从此数据源获取的节点。</span>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>parent</code> - 从该数据源获取的树中的一个节点
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
<code>parent</code>
</dd>
</dl> </li>
</ul> <a name="isLeaf-java.lang.Object-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>isLeaf</h4> <pre>boolean isLeaf(<a href="../../../java/lang/Object.html" title="class in java.lang">Object</a> node)</pre>
<div class="block">
<span>如果<code>node</code>是叶,则返回<code>true</code></span>
<span>即使<code>node</code>没有孩子,这种方法也可以返回<code>false</code></span>
<span>例如,文件系统中的目录可能不包含文件;</span>
<span>表示目录的节点不是叶,而是没有子节点。</span>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>node</code> - 从该数据源获取的树中的一个节点
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
如果
<code>node</code>是叶子的话
</dd>
</dl> </li>
</ul> <a name="valueForPathChanged-javax.swing.tree.TreePath-java.lang.Object-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>valueForPathChanged</h4> <pre>void valueForPathChanged(<a href="../../../javax/swing/tree/TreePath.html" title="class in javax.swing.tree">TreePath</a> path,
<a href="../../../java/lang/Object.html" title="class in java.lang">Object</a> newValue)</pre>
<div class="block">
<span>当用户将由<code>path</code>的项目的值更改为newValue时 <code>path</code>发生<code>newValue</code></span>
<span>如果<code>newValue</code>表示真正的新值,该模型应该发布一个<code>treeNodesChanged</code>事件。</span>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>path</code> - 用户已更改的节点的路径
</dd>
<dd>
<code>newValue</code> -
<code>newValue</code>的新值
</dd>
</dl> </li>
</ul> <a name="getIndexOfChild-java.lang.Object-java.lang.Object-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getIndexOfChild</h4> <pre>int getIndexOfChild(<a href="../../../java/lang/Object.html" title="class in java.lang">Object</a> parent,
<a href="../../../java/lang/Object.html" title="class in java.lang">Object</a> child)</pre>
<div class="block">
<span>返回父项中的子项的索引。</span>
<span>如果<code>parent</code><code>child</code><code>null</code> ,则返回-1。</span>
<span>如果<code>parent</code><code>child</code>不属于此树型,返回-1。</span>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>parent</code> - 从该数据源获取的树中的一个节点
</dd>
<dd>
<code>child</code> - 我们感兴趣的节点
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
父母中的孩子的索引,如果
<code>child</code>
<code>parent</code>
<code>null</code>或不属于此树模型
</dd>
</dl> </li>
</ul> <a name="addTreeModelListener-javax.swing.event.TreeModelListener-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>addTreeModelListener</h4> <pre>void addTreeModelListener(<a href="../../../javax/swing/event/TreeModelListener.html" title="interface in javax.swing.event">TreeModelListener</a> l)</pre>
<div class="block">
添加一个监听器为树更改后发布的
<code>TreeModelEvent</code>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>l</code> - 要添加的收听者
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../javax/swing/tree/TreeModel.html#removeTreeModelListener-javax.swing.event.TreeModelListener-"><code>removeTreeModelListener(javax.swing.event.TreeModelListener)</code></a>
</dd>
</dl> </li>
</ul> <a name="removeTreeModelListener-javax.swing.event.TreeModelListener-">
<!-- --> </a>
<ul class="blockListLast">
<li class="blockList"> <h4>removeTreeModelListener</h4> <pre>void removeTreeModelListener(<a href="../../../javax/swing/event/TreeModelListener.html" title="interface in javax.swing.event">TreeModelListener</a> l)</pre>
<div class="block">
删除之前添加的
<code>addTreeModelListener</code>的监听器。
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>l</code> - 要删除的侦听器
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../javax/swing/tree/TreeModel.html#addTreeModelListener-javax.swing.event.TreeModelListener-"><code>addTreeModelListener(javax.swing.event.TreeModelListener)</code></a>
</dd>
</dl> </li>
</ul> </li>
</ul> </li>
</ul>
</div>
</div>