⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 magnitudetree-3-3.html

📁 构建定制的树型视图
💻 HTML
📖 第 1 页 / 共 2 页
字号:
        topmainover.src="../i/h-main.gif";
        topmainout.src="../i/main.gif";
        bottommainover.src="../i/h-main.gif";
        bottommainout.src="../i/main.gif";
        topsectionover.src="../i/h-section.gif";
        topsectionout.src="../i/section.gif";      
        bottomsectionover.src="../i/h-section.gif";
        bottomsectionout.src="../i/section.gif";      
        topfeedbackover.src="../i/h-feedback.gif";
        topfeedbackout.src="../i/feedback.gif";
        bottomfeedbackover.src="../i/h-feedback.gif";
        bottomfeedbackout.src="../i/feedback.gif";
        toppreviousover.src="../i/h-previous.gif";
        toppreviousout.src="../i/previous.gif";
        bottompreviousover.src="../i/h-previous.gif";
        bottompreviousout.src="../i/previous.gif";
        topnextover.src="../i/h-next.gif";
        topnextout.src="../i/next.gif";
        bottomnextover.src="../i/h-next.gif";
        bottomnextout.src="../i/next.gif";
        topnextsectionout.src="../i/nextsection.gif";
        topnextsectionover.src="../i/h-nextsection.gif";
        bottomnextsectionout.src="../i/nextsection.gif";
        bottomnextsectionover.src="../i/h-nextsection.gif";
      }
      function iOut(image)
      {
        if (browser=="N3")document[image].src=eval(image + "out.src");
      }
      function iOver(image)
      {
        if (browser=="N3")document[image].src=eval(image + "over.src");
      }
     // --></script><!-- <script src="../i/emailfriend.js" language="javascript"></script> --><a href="#navskip"><img border="0" alt="跳至主要内容" src="../i/c.gif"></a>
        <table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr bgcolor="#006699">
<td><table width="300" border="0" cellspacing="0" cellpadding="0">
<tr bgcolor="#006699">
<td width="150"><img src="../i/mast_logo.gif" alt="IBM" width="150" height="25"/></td>
<td width="150" background="../i/mgradient.gif"><font size="2" color="#99ccff" face="宋体"><b>中国</b></font><br /> <img src="../i/c.gif" width="150" height="1" alt=""/></td>
</tr></table> 
</td>
<td align="left"><table width="300" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="100"><a href="/cgi-bin/click.p?url=http://www.ibm.com/cn/shop"><img border="0" src="../i/shopibm.gif" width="100" height="25" alt="购物"/></a></td>
<td width="100"><a href="/cgi-bin/click.p?url=http://www.ibm.com/cn/support"><img border="0" src="../i/support_chs.gif" width="100" height="25" alt="技术支持"/></a></td>
<td width="100"><a href="/cgi-bin/click.p?url=http://www.ibm.com/cn/support/product"><img border="0" src="../i/downloads_chs.gif" width="100" height="25" alt="免费下载"/></a></td></tr></table>
</td></tr></table>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr bgcolor="#000000">
<td><table width="600" border="0" cellspacing="0" cellpadding="0">
<tr><td bgcolor="#006699" width="150"><img src="../i/mast_lnav_sp.gif" width="150" height="21" alt=""/></td>
<td colspan="4" bgcolor="#000000"><table border="0" cellspacing="0" cellpadding="0" height="21">
<tr>
<td height="21" bgcolor="#000000" width="79" align="center"><a class="nav" style="color: #ffffff;" href="/cgi-bin/click.p?url=http://www.ibm.com/cn"><font size="2" color="#ffffff" face="宋体"><b>IBM 主页</b></font></a></td>
<td bgcolor="#959595" width="1"><img src="../i/c.gif" width="1" height="1" alt=""/></td>
<td height="21" bgcolor="#000000" width="74" align="center"><a class="nav" style="color: #ffffff;" href=/cgi-bin/click.p?url=http://www.ibm.com/cn/products><font size="2" color="#ffffff" face="宋体"><b>产品</b></font></a></td>
<td bgcolor="#959595" width="1"><img src="../i/c.gif" width="1" height="1" alt=""/></td>
<td height="21" bgcolor="#000000" width="81" align="center"><a class="nav" style="color: #ffffff;" href="/cgi-bin/click.p?url=http://www.ibm.com/cn/services"><font size="2" color="#ffffff" face="宋体"><b>咨询</b></font></a></td><td bgcolor="#959595" width="1"><img src="../i/c.gif" width="1" height="1" alt=""/></td>
<td height="21" bgcolor="#000000" width="81" align="center"><a class="nav" style="color: #ffffff;" href="/cgi-bin/click.p?url=http://www.ibm.com/cn/industry"><font size="2" color="#ffffff" face="宋体"><b>行业</b></font></a></td>
<td bgcolor="#959595" width="1"><img src="../i/c.gif" width="1" height="1" alt=""/></td>
<td height="21" bgcolor="#000000" width="57" align="center"><a class="nav" style="color: #ffffff;" href="/cgi-bin/click.p?url=http://www.ibm.com/cn/news"><font size="2" color="#ffffff" face="宋体"><b>新闻</b>
                                                </font></a></td>
<td bgcolor="#959595" width="1"><img src="../i/c.gif" width="1" height="1" alt=""/></td>
<td height="21" bgcolor="#000000" width="78" align="center"><a class="nav" style="color: #ffffff;" href="/cgi-bin/click.p?url=http://www.ibm.com/cn/ibm"><font size="2" color="#ffffff" face="宋体"><b>关于 IBM</b>
                                                </font></a></td></tr></table></td></tr></table></td></tr></table><TABLE border="0" cellpadding="0" cellspacing="0" width="100%"><TR><TD width="150" height="1" bgcolor="#ffffff"><IMG alt="" height="1" width="150" src="../i/c.gif"></TD></TR><TR><TD width="150" height="3" bgcolor="#cc6633"><IMG alt="" height="3" width="150" src="../i/c.gif"></TD></TR><TR><TD width="150" height="1" bgcolor="#333333"><IMG alt="" height="1" width="150" src="../i/c.gif"></TD></TR><TR><TD width="150" height="1" bgcolor="#000000"><IMG alt="" height="1" width="150" src="../i/c.gif"></TD></TR></TABLE><table border="0" cellpadding="0" cellspacing="0" width="100%"><tr><td><font face="Verdana, sans-serif" size="-1"><a href="/cgi-bin/click.p?url=http://www.ibm.com/cn">IBM</a> : <a
href="/developerWorks/">developerWorks 中国</a> : <a
href="/developerWorks/java/">Java</a> : <a
href="/developerWorks/education/java/">教学 - 在线课程</a></font><br x="7"><img src="imagemaster/masthead.jpg" alt="构建定制的树型视图"></td><td width="*" valign="bottom" align="right"><a border="0" href="../MagnitudeTree.zip"><img alt="下载教程 zip 文件" border="0" src="../i/icon-zip.gif"></a><a href=../MagnitudeTree_eng/index.html target=_blank><img alt="英文原文" border="0" src="../i/icon-source.gif"></a></td></tr><tr><td height="2" colspan="2"><img height="2" width="1" src="../i/c.gif"></td></tr></table><TABLE border="0" cellpadding="0" cellspacing="0" width="100%"><TR><TD width="150" height="1" bgcolor="#000000" colspan="6"><IMG alt="" height="1" width="150" src="../i/c.gif"></TD></TR><TR><TD background="../i/sw-gold.gif"><a border="0" href="index.html" onMouseOver="iOver('topmain'); iOver('bottommain'); self.status=mainblurb; return true;" onMouseOut="iOut('topmain'); iOut('bottommain'); self.status=''; return true;"><img alt="主菜单" border="0" src="../i/main.gif" name="topmain"></a></TD><TD background="../i/sw-gold.gif"><a border="0" onMouseOver="iOver('topsection'); iOver('bottomsection'); self.status=sectionblurb; return true;" onMouseOut="iOut('topsection'); iOut('bottomsection'); self.status=''; return true;" href="index3.html"><img alt="章节菜单" border="0" src="../i/section.gif" name="topsection"></a></TD><TD background="../i/sw-gold.gif"><a border="0" onMouseOver="iOver('topfeedback'); iOver('bottomfeedback'); self.status=feedbackblurb; return true;" onMouseOut="iOut('topfeedback'); iOut('bottomfeedback'); self.status=''; return true;" href="MagnitudeTree-7-4.html"><img alt="提交反馈意见" border="0" src="../i/feedback.gif" name="topfeedback"></a></TD><TD width="100%" background="../i/sw-gold.gif"><img src="../i/c.gif"></TD><TD background="../i/sw-gold.gif"><a border="0" onMouseOver="iOver('topprevious'); iOver('bottomprevious'); self.status=previousblurb; return true;" onMouseOut="iOut('topprevious'); iOut('bottomprevious'); self.status=''; return true;" href="MagnitudeTree-3-2.html"><img alt="上一屏" border="0" src="../i/previous.gif" name="topprevious"></a></TD><TD background="../i/sw-gold.gif"><a border="0" onMouseOver="iOver('topnext'); iOver('bottomnext'); self.status=nextblurb; return true;" onMouseOut="iOut('topnext'); iOut('bottomnext'); self.status=''; return true;" href="MagnitudeTree-3-4.html"><img alt="下一屏" border="0" src="../i/next.gif" name="topnext"></a></TD></TR></TABLE><table bgcolor="ffffff" cellspacing="0" cellpadding="2" border="0" height="400" width="100%"><tr valign="bottom"><a name="navskip"></a><td height="25" colspan="4"><img border="0" height="25" width="562" src="imagemaster/titlebar3.jpg" alt="3. 定制模型"></td></tr><tr><td bgcolor="ffffff" width="15">&nbsp;</td><td bgcolor="ffffff" width="12">&nbsp;</td><td valign="top" align="left" bgcolor="ffffff" width="*"><p><br x="7"><table cellspacing="0" cellpadding="0" border="0"><tr><td width="90%"><font size="4" face="Verdana, Arial, Helvetica"><b>选择定制模型的方法</b></font></td><td width="200" align="right"><font size="1" face="Verdana, Arial, Helvetica"><nobr>    第 3 页(共 9 页)</nobr></font></td></tr></table><br x="7"><br x="7"></p><font size="2" face="Verdana, Arial, Helvetica"><p>
生成 TreeModel 的定制实现(如<a href="http://java.sun.com/docs/books/tutorial/uiswing/components/tree.html">如何使用树</a>中所述)可以显示树型视图,但又不必创建对象的完整层次结构。如果对象的层次结构已经存在,那么这个特性就特别有用,因为合适的定制模型可以参考现有层次结构,而不必仅仅为了填充树型视图而创建一个并行层次结构。然而,由于 JTree 直接将节点对象传递给树单元绘制,这种方法通常意味着必须为所使用的每种不同类型的对象构建新的定制绘制程序。
          </p><p>
另一方面,在许多情况下,更适合于将 TreeNode 的定制实现与 DefaultTreeModel
一起使用。此类情况之一就是构建对象的层次结构,并且由层次结构的节点实现
TreeNode 接口。由于定制树节点为存储数据提供了一个理想的机会,应考虑将附加信息存储到层次结构中的每个节点中。TreeNode
接口包含了足够的方法以供树单元绘制程序显示节点。这就意味着可以使用一般的树单元绘制程序,不管它是缺省绘制程序还是定制绘制程序。下一章节中将讨论树型视图的定制绘制。
          </p><p>
这些方法中的每一个都适合于某些方案。当使用 Swing 树型视图时,必须认真考虑选择如何进行树模型的定制。
          </p><p>
本教程使用第二种方法,即生成 TreeNode 的定制实现,然后将该实现与 DefaultTreeModel
一起使用。由于以下原因,所以使用这个方法:<ul><li>
本教程的目的是说明通过生成树型视图(它还可以显示每个节点的数量)来定制树型视图。由于计算数量(它必须包括所有子代的数量)很可能是昂贵的操作,因此最好是只计算一次数量,然后将它存储起来。通过定义可以存储数量的树节点类,就可以在计算后有效地存储相关数据。
              </li><li>
树单元绘制程序需要访问数量信息,以便生成定制的绘制。我们将确保必需的方法可用于所有树节点,因此定制树单元绘制程序可以直接使用树节点的层次结构。为每种要包括在层次结构中的对象构建一种不同的定制树单元绘制程序并不方便。
              </li><li>
最后,通过使用 DefaultMutableTreeNode 类作为定制 TreeNode
实现的基础,我们可以利用 DefaultMutableTreeNode 和 DefaultTreeModel
的实现,增加重用并减少完成必需的类所需要的工作。
              </li></ul>
          </p><br x="7"></font></td></tr></table><TABLE border="0" cellpadding="0" cellspacing="0" width="100%"><TR><TD background="../i/sw-gold.gif"><a border="0" href="index.html" onMouseOver="iOver('topmain'); iOver('bottommain'); self.status=mainblurb; return true;" onMouseOut="iOut('topmain'); iOut('bottommain'); self.status=''; return true;"><img alt="主菜单" border="0" src="../i/main.gif" name="bottommain"></a></TD><TD background="../i/sw-gold.gif"><a border="0" onMouseOver="iOver('topsection'); iOver('bottomsection'); self.status=sectionblurb; return true;" onMouseOut="iOut('topsection'); iOut('bottomsection'); self.status=''; return true;" href="index3.html"><img alt="章节菜单" border="0" src="../i/section.gif" name="bottomsection"></a></TD><TD background="../i/sw-gold.gif"><a border="0" onMouseOver="iOver('topfeedback'); iOver('bottomfeedback'); self.status=feedbackblurb; return true;" onMouseOut="iOut('topfeedback'); iOut('bottomfeedback'); self.status=''; return true;" href="MagnitudeTree-7-4.html"><img alt="提交反馈意见" border="0" src="../i/feedback.gif" name="bottomfeedback"></a></TD><TD width="100%" background="../i/sw-gold.gif"><img src="../i/c.gif"></TD><TD background="../i/sw-gold.gif"><a border="0" onMouseOver="iOver('topprevious'); iOver('bottomprevious'); self.status=previousblurb; return true;" onMouseOut="iOut('topprevious'); iOut('bottomprevious'); self.status=''; return true;" href="MagnitudeTree-3-2.html"><img alt="上一屏" border="0" src="../i/previous.gif" name="bottomprevious"></a></TD><TD background="../i/sw-gold.gif"><a border="0" onMouseOver="iOver('topnext'); iOver('bottomnext'); self.status=nextblurb; return true;" onMouseOut="iOut('topnext'); iOut('bottomnext'); self.status=''; return true;" href="MagnitudeTree-3-4.html"><img alt="下一屏" border="0" src="../i/next.gif" name="bottomnext"></a></TD></TR><TR><TD width="150" height="1" bgcolor="#000000" colspan="6"><IMG alt="" height="1" width="150" src="../i/c.gif"></TD></TR></TABLE><TABLE cellpadding="0" cellspacing="0" border="0"><TR><TD width="182"><TABLE cellpadding="0" cellspacing="0" border="0" width="182">
            <TR bgcolor="#000000"><TD align="center" width="60" class="mast"><a style="text-decoration: none; color: #ffffff;" class="nav" href="http://www.ibm.com/privacy/"><font face="Arial, Verdana" size="2">隐私</font></a></TD>
            <TD width="1" bgcolor="#959595"><img alt="" border="0" height="20" width="1" src="../i/c.gif"></TD>
            <TD align="center" width="60" class="mast"><a style="text-decoration: none; color: #ffffff;" class="nav" href="http://www.ibm.com/legal/"><font face="Arial, Verdana" size="2">法律</font></a></TD>
            <TD width="1" bgcolor="#959595"><img alt="" border="0" height="20" width="1" src="../i/c.gif"></TD>
            <TD align="center" width="60" class="mast"><a style="text-decoration: none; color: #ffffff;" class="nav" href="http://www.ibm.com/contact/"><font face="Arial, Verdana" size="2">联系</font></a></TD>
            <TD width="1" bgcolor="#959595"><img alt="" border="0" height="21" width="1" src="../i/c.gif"></TD></TR><TR bgcolor="#ffffff"><TD><img alt="" border="0" height="1" width="1" src="../i/c.gif"></TD></TR></TABLE></TD><TD width="100%"><TABLE cellpadding="0" cellspacing="0" border="0" width="100%"><TR height="21" bgcolor="#000000"><TD><img alt="" border="0" height="21" width="1" src="../i/c.gif"></TD></TR><TR bgcolor="#ffffff"><TD><img alt="" border="0" height="1" width="1" src="../i/c.gif"></TD></TR></TABLE></TD></TR></TABLE></body></html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -