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

📄 magnitudetree-2-3.html

📁 构建定制的树型视图
💻 HTML
📖 第 1 页 / 共 2 页
字号:
<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="index2.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-2-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-2-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/titlebar2.jpg" alt="2. Swing 树型视图"></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>Swing Look &amp; Feel</b></font></td><td width="200" align="right"><font size="1" face="Verdana, Arial, Helvetica"><nobr>    第 3 页(共 11 页)</nobr></font></td></tr></table><br x="7"><br x="7"></p><font size="2" face="Verdana, Arial, Helvetica"><p>
Swing 使用指派的用户界面模型,该模型允许向 Swing 组件提供替代绘制。Swing
提供一些标准替代项,称作 "Look &amp; Feel"。可以使用这些替代项来改变所有
Swing 组件的外观,但又不影响这些组件的功能。
          </p><p>
通过使用 Swing UIManager 类的静态方法,可以找到当前已安装的 Look &amp; Feel
选项,以及与当前平台匹配的 Look &amp; Feel。以下代码将 Look &amp; Feel
设置成当前平台的 Look &amp; Feel,然后为每个可用的 Look &amp; Feel
构建一组复选框菜单项,并预先选择与当前 Look &amp; Feel 匹配的菜单项:
</p><pre><code style="font-family: Courier New, Courier, monospace; font-size: 12">
<span class="comment">// Get the system Look &amp; Feel name for current platform.</span>
<span class="keyword">final</span> <span class="type">String</span> <span class="variable-name">platform</span> = <span class="type">UIManager</span>.<span class="function-name">getSystemLookAndFeelClassName</span>();

<span class="comment">// If the current Look &amp; Feel does not match the platform Look &amp; Feel,
// change it so it does.</span>
<span class="keyword">if</span> (!<span class="type">UIManager</span>.<span class="function-name">getLookAndFeel</span>().<span class="function-name">getName</span>().<span class="function-name">equals</span>(<span class="variable-name">platform</span>))
{
  <span class="keyword">try</span>
  {
    <span class="type">UIManager</span>.<span class="function-name">setLookAndFeel</span>(<span class="variable-name">platform</span>);
  }
  <span class="keyword">catch</span>(<span class="type">Exception</span> <span class="variable-name">exception</span>)
  {
    <span class="variable-name">exception</span>.<span class="function-name">printStackTrace</span>();
  }
}

<span class="comment">// Action listener for menu items affecting the Look &amp; Feel.</span>
<span class="keyword">final</span> <span class="type">ActionListener</span> <span class="variable-name">lookFeelActionListener</span> = <span class="keyword">new</span> <span class="type">ActionListener</span>()
{
  <span class="comment">// When a new Swing Look &amp; Feel is selected, apply it.</span>
  <span class="keyword">public</span> <span class="type">void</span> <span class="function-name">actionPerformed</span>(<span class="type">ActionEvent</span> <span class="variable-name">event</span>)
  {
    <span class="function-name">setLookAndFeel</span>(<span class="variable-name">event</span>.<span class="function-name">getActionCommand</span>(), <span class="variable-name">fMyFrame</span>);
  }
};

<span class="comment">// Enumerate the currently installed Look &amp; Feels.</span>
<span class="keyword">final</span> <span class="type">UIManager</span>.<span class="type">LookAndFeelInfo</span>[] <span class="variable-name">installed</span> = <span class="type">UIManager</span>.<span class="function-name">getInstalledLookAndFeels</span>();
<span class="comment">// For each installed Look &amp; Feel, create a menu item using the
// Look &amp; Feel name. Select the menu item for the platform Look &amp; Feel</span>
<span class="keyword">for</span> (<span class="type">int</span> <span class="variable-name">i</span> = <span class="constant">0</span>; <span class="variable-name">i</span> &lt; <span class="variable-name">installed</span>.<span class="variable-name">length</span>; <span class="variable-name">i</span>++)
{
  <span class="keyword">final</span> <span class="type">String</span> <span class="variable-name">name</span> = <span class="variable-name">installed</span>[<span class="variable-name">i</span>].<span class="function-name">getName</span>();
  <span class="keyword">final</span> <span class="type">JMenuItem</span> <span class="variable-name">menuItem</span> = <span class="keyword">new</span> <span class="type">JRadioButtonMenuItem</span>(<span class="variable-name">name</span>);
  <span class="variable-name">menuItem</span>.<span class="function-name">addActionListener</span>(<span class="variable-name">lookAndFeelActionListener</span>);
  <span class="keyword">if</span> (<span class="variable-name">name</span>.<span class="function-name">equals</span>(<span class="variable-name">platform</span>))
    <span class="variable-name">menuItem</span>.<span class="function-name">setSelected</span>(<span class="constant">true</span>);
}
          </code></pre><p>
该代码获取当前平台的 Look &amp; Feel 名称,并将它设置成当前的
Look &amp; Feel。它定义了一个操作侦听器来处理 Look &amp; Feel
菜单项选择。然后,它枚举了已安装的 Look &amp; Feel,并使用 Look &amp; Feel
名称作为构造参数,为每一个都创建一个单选按钮菜单项。代码将操作侦听器与每个菜单项都关联起来,并选择与平台
Look &amp; Feel 匹配的菜单项。
          </p><p>
操作侦听器调用 <code style="font-family: Courier
New, Courier, monospace; font-size: 12">setLookAndFeel()</code>
方法,将与所选菜单项和引用关联的 Look &amp; Feel 名称传递给应用程序框架。下面显示了这个方法:
</p><pre><code style="font-family: Courier New, Courier, monospace; font-size: 12">
<span class="comment">// Set the current Look &amp; Feel according to the supplied string,
// and refresh the user interface for the supplied</span>
<span class="keyword">private</span> <span class="type">void</span> <span class="function-name">setLookAndFeel</span>(<span class="keyword">final</span> <span class="type">String</span> <span class="variable-name">lookAndFeel</span>, <span class="keyword">final</span> <span class="type">Component</span> <span class="variable-name">component</span>)
{
  <span class="comment">// Enumerate the currently installed Look &amp; Feels.</span>
  <span class="keyword">final</span> <span class="type">UIManager</span>.<span class="type">LookAndFeelInfo</span>[] <span class="variable-name">installed</span> = <span class="type">UIManager</span>.<span class="function-name">getInstalledLookAndFeels</span>();

  <span class="comment">// Locate and set the new Look &amp; Feel based on the supplied name.</span>
  <span class="type">boolean</span> <span class="variable-name">set</span> = <span class="constant">false</span>;
  <span class="keyword">for</span> (<span class="type">int</span> <span class="variable-name">i</span> = 0; !<span class="variable-name">set</span> &amp;&amp; (<span class="variable-name">i</span> &lt; <span class="variable-name">installed</span>.<span class="variable-name">length</span>); <span class="variable-name">i</span>++)
  {
    <span class="keyword">final</span> <span class="type">String</span> <span class="variable-name">name</span> = <span class="variable-name">installed</span>[<span class="variable-name">i</span>].<span class="function-name">getName</span>();
    <span class="keyword">if</span> (<span class="variable-name">name</span>.<span class="function-name">equals</span>(<span class="variable-name">lookAndFeel</span>))
    {
      <span class="variable-name">set</span> = <span class="constant">true</span>;
      <span class="keyword">try</span>
      {
        <span class="comment">// refresh the UI for the component, and all of its children</span>
        <span class="type">UIManager</span>.<span class="function-name">setLookAndFeel</span>(<span class="variable-name">installed</span>[<span class="variable-name">i</span>].<span class="function-name">getClassName</span>());
        <span class="type">SwingUtilities</span>.<span class="function-name">updateComponentTreeUI</span>(<span class="variable-name">component</span>);
      }
      <span class="keyword">catch</span> (<span class="type">Exception</span> <span class="variable-name">exception</span>)
      {
        <span class="variable-name">exception</span>.<span class="function-name">printStackTrace</span>();
      }
    }
  }
}
          </code></pre><p>
此代码枚举当前安装的 Look &amp; Feel (或者是高速缓存的),并不断迭代,直到它找到名称与所提供名称匹配的 Look &amp; Feel。如果找到一个匹配,则代码将它设置成当前  Look &amp; Feel。将刷新所提供的组件,包括其子节点。
          </p><p>
请注意,示例代码既没有显示要添加到父菜单的菜单项,也没有显示使菜单项互斥的 ButtonGroup 的用法。
          </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="index2.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-2-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-2-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 + -