<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<!-- -*- xhtml -*- -->
  <title>针对 NetBeans 6.5 平台的快速搜索集成教程</title>
    <link rel="stylesheet" type="text/css" href="https://netbeans.org/netbeans.css">
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  <meta name="AUDIENCE" content="NBUSER">
  <meta name="TYPE" content="ARTICLE">
  <meta name="EXPIRES" content="N">
  <meta name="developer" content="gwielenga@netbeans.org">
  <meta name="indexed" content="y">
  <meta name="description"
 content="A short guide to using the Nodes API.">
<!--      Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved. -->
<!--     Use is subject to license terms.-->
</head>
<body>
	<h1>快速搜索集成教程</h1>

<p>本教程介绍如何编写在 NetBeans 快速搜索功能中集成新项目的模块。 

   <p><b>目录</b></p>
   
   <p><img  src="../../images/articles/69/netbeans-stamp7-8-9.png" class="stamp" width="114" height="114" alt="本页上的内容适用于 NetBeans IDE 6.5、6.7、6.8" title="本页上的内容适用于 NetBeans IDE 6.5、6.7、6.8" /></p>
      <ul class="toc">
  <li><a href="#intro">快速搜索集成简介</a></li>
  <li><a href="#creating">创建模块项目</a></li>
  <li><a href="#use">使用“快速搜索提供器”向导</a></li>
  <li><a href="#third">集成外部 HTML DOM 解析器</a></li>
  <li><a href="#code">实现快速搜索集成</a></li>
  <li><a href="#install">安装并试用功能</a></li>
  <li><a href="#platform">在 NetBeans 平台上使用快速搜索功能</a></li>
  <ul>
     <li><a href="#enable">在 NetBeans 平台上启用快速搜索功能</a></li>
     <li><a href="#enable2">在 NetBeans 平台上启用缺省 Web 搜索提供器</a></li>
  </ul>
  <li><a href="#share">创建可共享的二进制文件</a></li>
       </ul>
         
<p><b>要学习本教程，您需要具备下表中列出的软件和资源。</b></p>

      <table>
        <tbody>
            <tr>
                <th class="tblheader" scope="col">软件或资源</th>
                <th class="tblheader" scope="col">要求的版本</th>
            </tr> 
            <tr>
                <td class="tbltd1"><a href="https://netbeans.org/downloads/index.html">NetBeans IDE</a></td>
                <td class="tbltd1">6.7 或更高版本</td>
            </tr>
            <tr>
                <td class="tbltd1"><a href="http://java.sun.com/javase/downloads/index.jsp">Java Developer Kit (JDK)</a></td>
                <td class="tbltd1">版本 6 或<br/>版本 5</td>
            </tr>
        </tbody>
    </table>
    
 <p class="tips">（可选）要解决疑难问题，可以<a href="http://plugins.netbeans.org/PluginPortal/faces/PluginDetailPage.jsp?pluginid=11179"> 下载完整的样例 </a>并查看其源代码。
    


<h2 class="tutorial"><a name="intro">快速搜索集成简介</a></h2>

<p>NetBeans IDE 6.5 中引入的快速搜索功能由 IDE 右上角的一个文本字段组成。在该字段中键入搜索字符串时，会出现一个下拉列表并显示匹配的项目。缺省情况下，这些项目来自在 IDE 中注册的操作名称以及 IDE 的 Java 帮助中的帮助主题。选择操作项目将调用该操作；选择帮助项目将在 JavaHelp 中打开该主题。
 
 <p>此外，<a href="http://bits.netbeans.org/dev/javadoc/org-netbeans-spi-quicksearch/overview-summary.html">快速搜索 API</a> 已被公开。您可以使用它将您自己的搜索项目集成到快速搜索功能中。您可以在 IDE 中使用该功能，也可以在 NetBeans 平台上将它作为应用程序的一部分使用。

<p>在本教程，您将创建一个模块，用于将 <a href="http://netbeans.dzone.com">NetBeans Zone</a> 中的项目集成到快速搜索功能中：

<p><p align="left"><img border="1" src="../../images/tutorials/qsearch/deployed-result.png" alt="部署后的结果">


<!-- ===================================================================================== -->

<h2 class="tutorial"><a name="creating"></a>创建模块项目</h2>
      
<p>在此部分，我们将利用向导创建每个 NetBeans 模块所需的源代码结构。源代码结构包含位于特定位置的某些文件夹以及一组始终需要的文件。例如，每个 NetBeans 模块都需要一个 <tt>nbproject</tt> 文件夹和一个 <tt>layer.xml</tt> 文件，前者用于存放项目的 meta 数据，后者用于工具栏按钮和窗口等项的声明性注册。

<ol>
          
	      <li>选择“文件”&gt;“新建项目”(Ctrl-Shift-N)。在“类别”下选择“NetBeans 模块”。在“项目”下面，选择“模块”并单击“下一步”。</li>
	<li>在“名称和位置”面板的“项目名称”中键入 <tt>NetBeansZoneSearch</tt>。将项目位置更改为计算机上的任意目录，例如 <tt>c:\mymodules</tt>。将“独立模块”单选按钮保留为选中状态。此面板现在应如下所示：

<p><p align="left"><img src="../../images/tutorials/qsearch/new-module-1.png" alt="“新建项目”向导的第 1 步。">
 <p>单击“下一步”。

<li>在“基本模块配置”面板中，键入 <tt>org.netbeans.modules.nbzone</tt> 作为代码名称基。在建议的模块显示名称中添加空格，以将其更改为 <tt>NetBeans Zone Search</tt>。选中“生成 XML 层”复选框，并保留本地化绑定和 XML 层的位置不变，这样它们将存储在名称为 <tt>org/netbeans/modules/demo</tt> 的包中。此面板现在应如下所示：

<p><p align="left"><img src="../../images/tutorials/qsearch/new-module-2.png" alt="“新建项目”向导的第 2 步。">

<li>单击“完成”。</ol>

<p> IDE 将创建 <tt>NetBeans Zone Search</tt> 项目。此项目包含所有源代码和项目 meta 数据，例如项目的 Ant 生成脚本。此项目在 IDE 中打开。您可以在“项目”窗口 (Ctrl-1) 中查看其逻辑结构，在“文件”窗口 (Ctrl-2) 中查看其文件结构。 


      <br />

<!-- ===================================================================================== -->
<h2><a name="use">使用“快速搜索提供器”向导</a></h2>

<p>在此部分，我们将通过向导来创建实现快速搜索功能集成所需的桩模块类和层条目。

  
 <ol>
	
	 <li>右键单击项目节点，然后选择“新建”&gt;“其他”。在“新建文件”对话框中，选择“模块开发”&gt;“快速搜索提供器”。</li>
	      <li>在“快速搜索提供器”面板中，设置以下信息：
        <p><ul>
            <li><b>提供器类名。</b>指定向导将生成的桩模块的类名。在该字段中键入 &quot;NBZoneSearchProvider&quot;。
            <li><b>包。</b>指定将在其中生成桩模块类的包。从下拉列表中选择 &quot;org.netbeans.modules.nbzone&quot;。
            <li><b>类别显示名称。</b>指定桩模块将创建的类别的显示名称。在该字段中键入 &quot;NetBeans Zone&quot;。
            <li><b>命令前缀。</b>指定在搜索桩模块将创建的类别时，用于缩小搜索范围的前缀。在该字段中键入 &quot;nb&quot;。
            <li><b>弹出式窗口中的位置。</b>指定新类别在快速搜索功能中的位置。保留值为 &quot;0&quot; 不变，这样类别将处于弹出式窗口第一个位置。
          </ul>
          <p>您现在应该看到下面的屏幕：
<p><p align="left"><img src="../../images/tutorials/qsearch/quick-search-template.png" alt="快速搜索模板">
          
<li>单击“完成”。

<p><p>“项目”窗口现在应如下所示：

<p><p align="left"><img src="../../images/tutorials/qsearch/projects-window-final.png" alt="最终的“项目”窗口。"></ol>

      <p>在 <tt>layer.xml</tt> 文件中，您应该能看到以下内容：
      
<pre>&lt;filesystem&gt;
    &lt;folder name=&quot;QuickSearch&quot;&gt;
        &lt;folder name=&quot;NetBeansZone&quot;&gt;
            &lt;attr name=&quot;SystemFileSystem.localizingBundle&quot; stringvalue=&quot;org.netbeans.modules.nbzone.Bundle&quot;/&gt;
            &lt;attr name=&quot;command&quot; stringvalue=&quot;nb&quot;/&gt;
            &lt;attr name=&quot;position&quot; intvalue=&quot;0&quot;/&gt;
            &lt;file name=&quot;org-netbeans-modules-nbzone-NBZoneSearchProvider.instance&quot;/&gt;
        &lt;/folder&gt;
    &lt;/folder&gt;
&lt;/filesystem&gt;</pre>      

      <br />
      
    <!-- ======================================================================================= -->
      
      <h2><a name="third"></a>集成外部 HTML DOM 解析器</h2>
<p>在下一部分中，我们需要一个 HTML DOM 解析器来解析 NetBeans Zone。您可以选择任何合适的解析器。考虑到本教程的目的，我们将使用 <a href="http://sourceforge.net/project/showfiles.php?group_id=13153">JTidy</a>。</p>

<p>可以采用两种方法将外部 JAR 文件集成到模块中。第一种方法是将 JAR 放置在一个单独的“库包装器模块” 中，并在将两个模块集成到模块套件中之前让功能模块<i>依赖于</i>该库包装器模块。使用两个单独模块的好处在于，当新版本的外部 JAR 发行时，您只需要重新分发一个较小的模块（其中只包含外部 JAR），而不是还包含功能代码的大模块。第二种方法是将 JAR 添加到功能模块中，下面采用的就是这种方法。这种方法的好处在于，它在短期内比较便利，因为您只需要分发一个模块，而它的缺点在于，您会将外部库和功能代码混合在一起，而这不是一种严格的模块化方法。

<div class="indent">
    
 <ol>
    
    <li>下载 <a href="http://sourceforge.net/project/showfiles.php?group_id=13153">JTidy</a> 并找到下载包中的 <tt>Tidy.jar</tt>。
    
    <li>在“文件”窗口中，创建如下所示的文件夹结构，将 <tt>Tidy.jar</tt> 放置在 <tt>release/modules/ext</tt> 文件夹中：
     
    <p><p align="left"><img src="../../images/tutorials/qsearch/tidyjar.png" alt="JTidy JAR。" />

<li>在 <tt>project.xml</tt> 文件的结束部分，该文件位于 <tt>nbproject</tt> 文件夹，添加下面的粗体标记：
 
 <pre>
            ...
            ...
            ...
            <b>&lt;class-path-extension&gt;
                &lt;runtime-relative-path&gt;ext/Tidy.jar&lt;/runtime-relative-path&gt;
                &lt;binary-origin&gt;release/modules/ext/Tidy.jar&lt;/binary-origin&gt;
            &lt;/class-path-extension&gt;</b>
        &lt;/data&gt;
    &lt;/configuration&gt;
 &lt;/project&gt;</pre>
 
 <li>在 <tt>project.properties</tt> 文件中，添加以下内容：
 
 <pre>cp.extra=release/modules/ext/Tidy.jar</pre>

 </ol>
 
    </div>
 <p>现在，外部 HTML DOM 解析器已经在您模块的类路径中。您可以使用 JAR 中的类，如下一部分所示。
    
    
    <!-- ======================================================================================= -->
      
      <h2><a name="code"></a>实现快速搜索集成</h2>
<p>接下来，我们将实现 API。API 的类如下所示：</p>


      <table>
        <tbody>
            <tr>
                <th class="tblheader" scope="col">类</th>
                <th class="tblheader" scope="col">描述</th>
            </tr>
            <tr>
              <td class="tbltd1"><a href="http://bits.netbeans.org/dev/javadoc/org-netbeans-spi-quicksearch/org/netbeans/spi/quicksearch/SearchProvider.html">SearchProvider</a></td>
                <td class="tbltd1">快速搜索 API 的主接口。实现此接口，为您的快速搜索提供新的结果分组。</td>
            </tr>
            <tr>
                <td class="tbltd1"><a href="http://bits.netbeans.org/dev/javadoc/org-netbeans-spi-quicksearch/org/netbeans/spi/quicksearch/SearchRequest.html">SearchRequest</a></td>
                <td class="tbltd1">快速搜索请求的描述。</td>
            </tr>
            <tr>
                <td class="tbltd1"><a href="http://bits.netbeans.org/dev/javadoc/org-netbeans-spi-quicksearch/org/netbeans/spi/quicksearch/SearchResponse.html">SearchResponse</a></td>
                <td class="tbltd1">收集 SearchRequest 结果的响应对象。</td>
            </tr>
        </tbody>
    </table>
    
<p><p>下面，我们将设置所需模块的依赖关系，然后在我们自己的模块中实现它们。

<div class="indent">
    
    <ol>
        
        <li> 右键单击项目，选择“属性”，在“库”面板中设置以下 个依赖关系。
        
     <p><p align="left"><img src="../../images/tutorials/qsearch/set-dependencies.png" alt="设置依赖关系。" />
        
        <li>打开生成的类。
        
        <li>修改该类，如下所示：
    
 <pre>public class NBZoneSearchProvider implements <a href="http://bits.netbeans.org/dev/javadoc/org-netbeans-spi-quicksearch/org/netbeans/spi/quicksearch/SearchProvider.html">SearchProvider</a> {

    /**
     * Method is called by infrastructure when search operation is requested.* Implementors should evaluate given request and fill response object with
     * apropriate results
     *
     * @param request Search request object that contains search string
     * @param response Search response object that stores search results 
     * Note that it's important to react to return value of 
     * SearchResponse.addResult(...) method and stop computation if 
     * false value is returned.
     */
    @Override 
    public void evaluate(<a href="http://bits.netbeans.org/dev/javadoc/org-netbeans-spi-quicksearch/org/netbeans/spi/quicksearch/SearchRequest.html">SearchRequest request</a>, <a href="http://bits.netbeans.org/dev/javadoc/org-netbeans-spi-quicksearch/org/netbeans/spi/quicksearch/SearchResponse.html">SearchResponse response</a>) {
        try {

            <b>//The URL that we are providing a search for:</b>
            URL url = new URL(&quot;http://netbeans.dzone.com&quot;);
            <b>//Stuff needed by Tidy:</b>
            Tidy tidy = new Tidy();
            tidy.setXHTML(true);
            tidy.setTidyMark(false);
            tidy.setShowWarnings(false);
            tidy.setQuiet(true);

            <b>//Get the org.w3c.dom.Document from Tidy,
            //or use a different parser of your choice:</b>
            Document doc = tidy.parseDOM(url.openStream(), null);

            <b>//Get all &quot;a&quot; elements:</b>
            NodeList list = doc.getElementsByTagName(&quot;a&quot;);

            <b>//Get the number of elements:</b>
            int length = list.getLength();

            <b>//Loop through all the &quot;a&quot; elements:</b>
            for (int i = 0; i &lt; length; i++) {

                String href = null;
                if (null != list.item(i).getAttributes().getNamedItem(&quot;href&quot;)) {
                    <b>//Get the &quot;href&quot; attribute from the current &quot;a&quot; element:</b>
                    href = list.item(i).getAttributes().getNamedItem(&quot;href&quot;).getNodeValue();
                }

                <b>//Get the &quot;title&quot; attribute from the current &quot;a&quot; element:</b>
                if (null != list.item(i).getAttributes().getNamedItem(&quot;title&quot;)) {
                    String title = list.item(i).getAttributes().getNamedItem(&quot;title&quot;).getNodeValue();

                    <b>//If the title matches the requested text:</b>
                    if (title.toLowerCase().indexOf(<a href="http://bits.netbeans.org/dev/javadoc/org-netbeans-spi-quicksearch/org/netbeans/spi/quicksearch/SearchRequest.html">request.getText().toLowerCase()</a>) != -1) {

                        <b>//Add the runnable and the title to the response
                        //and return if nothing is added:</b>
                        if (!<a href="http://bits.netbeans.org/dev/javadoc/org-netbeans-spi-quicksearch/org/netbeans/spi/quicksearch/SearchResponse.html">response.addResult(new OpenFoundArticle(href), title)</a>) {
                            return;
                        }

                    }

                }

            }

        } catch (IOException ex) {
            Exceptions.printStackTrace(ex);
        }
    }

    private static class OpenFoundArticle implements Runnable {

        private String article;

        public OpenFoundArticle(String article) {
            this.article = article;
        }

        public void run() {
            try {
                URL url = new URL(&quot;http://netbeans.dzone.com&quot; + article);
                StatusDisplayer.getDefault().setStatusText(url.toString());
                URLDisplayer.getDefault().showURL(url);
            } catch (MalformedURLException ex) {
                Logger.getLogger(NBZoneSearchProvider.class.getName()).log(Level.SEVERE, null, ex);
            }
        }
        
    } 
    
 }</pre>
 
 <li>确保声明了以下导入数据：
 
<pre>import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.logging.Level;
import java.util.logging.Logger;
import org.netbeans.spi.quicksearch.SearchProvider;
import org.netbeans.spi.quicksearch.SearchRequest;
import org.netbeans.spi.quicksearch.SearchResponse;
import org.openide.awt.HtmlBrowser.URLDisplayer;
import org.openide.awt.StatusDisplayer;
import org.openide.util.Exceptions;
import org.w3c.dom.Document;
import org.w3c.dom.NodeList;
import org.w3c.tidy.Tidy;</pre> 
 
 </ol>
    </div>

      
    <!-- ======================================================================================= -->

<h2><a name="install"></a>安装并试用功能</h2>
<p>现在，安装模块并使用快速搜索功能集成。IDE 使用 Ant 生成脚本来生成和安装模块。此生成脚本是在创建项目时创建的。</p>
<div class="indent">


      <ol>
	      <li>在“项目”窗口中，右键单击项目并选择“运行”。
	      <p><p>此时将启动一个新的 IDE 实例，并安装快速搜索集成模块。 
               <li>在快速搜索功能中键入一个字符串，如果字符串匹配 NetBeans Zone 中的某个标题，则 NetBeans Zone 中的该项目将包括在结果中：
<p><p align="left"><img border="1" src="../../images/tutorials/qsearch/deployed-result.png" alt="部署后的结果">
<p>如果您键入在 <tt>layer.xml</tt> 中定义的命令前缀，并紧跟一个空格，则只搜索相关的类别：
<p><p align="left"><img border="1" src="../../images/tutorials/qsearch/command.png" alt="命令前缀">
		 <li>单击某个项目，如果您在 IDE 中设置了浏览器，则会打开该浏览器并显示所选的文章。
       </ol>          
   </div>
      <br />


<!-- ======================================================================================= -->

<h2><a name="platform">在 NetBeans 平台上使用快速搜索功能</a></h2>

<p>上一部分假定您为现有应用程序创建了一个模块。如果您要在 NetBeans 平台上创建自己的应用程序，而不是创建模块，请阅读下面两个主题。

<div class="indent">
    
<h3><a name="enable"></a>在 NetBeans 平台上启用快速搜索功能</h3>

<p>虽然 NetBeans IDE 随带了对快速搜索功能的支持，但 NetBeans 平台却并非如此。缺省情况下，快速搜索功能是隐藏的。根据下面的步骤启用该功能。

<div class="indent">
  
      <ol>
          <li>将以下标记添加到 <tt>layer.xml</tt> 文件中：
<pre>&lt;folder name=&quot;Toolbars&quot;&gt;
    &lt;folder name=&quot;QuickSearch&quot;&gt;
        &lt;attr name=&quot;SystemFileSystem.localizingBundle&quot; stringvalue=&quot;org.netbeans.modules.nbzone.Bundle&quot;/&gt;
        &lt;file name=&quot;org-netbeans-modules-quicksearch-QuickSearchAction.shadow&quot;&gt;
            &lt;attr name=&quot;originalFile&quot; 
            stringvalue=&quot;Actions/Edit/org-netbeans-modules-quicksearch-QuickSearchAction.instance&quot;/&gt;
        &lt;/file&gt;
    &lt;/folder&gt;
&lt;/folder&gt;</pre>           

<li>将此键/值对添加到 <tt>Bundle.properties</tt> 文件 中：
 
 <pre>Toolbars/QuickSearch=Quick Search</pre>

              <li>运行 NetBeans 平台应用程序，您应该能看到快速搜索功能现已可用：

<p><p align="left"><img src="../../images/tutorials/qsearch/netbeans-platform-qsearch.png" alt="带快速搜索功能的 NetBeans 平台">


       </ol>
 
    </div>
<!-- ======================================================================================= -->

<h3><a name="enable2"></a>在 NetBeans 平台上启用缺省 Web 搜索提供器</h3>

<p>缺省 Web 搜索提供器实现可以用在 NetBeans 源代码中。该提供器在 Google 中搜索与搜索字符串匹配的文本。在 IDE 中，它的作用是在 <tt>netbeans.org</tt> 和相关站点中搜索与 IDE 相关的在线文档。 
 
 <p><b>注意：</b>遗憾的是，IDE 中禁用了 Web 搜索提供器，因为在多次使用之后，Google 会抱怨自动搜索违背了其使用条款，并拒绝继续提供服务。
 
 <p>如果您接受上述限制，您可以标记此 Web 搜索提供器并在您的 NetBeans 平台应用程序中用它。
 
 

<div class="indent">
  
      <ol>
          <li>如前所述，确保已经启用快速搜索功能。
          <li>将以下标记添加到 <tt>layer.xml</tt> 文件中：
<pre>&lt;folder name=&quot;Guardian&quot;&gt;
   &lt;file name=&quot;org-netbeans-modules-quicksearch-web-WebQuickSearchProviderImpl.instance&quot;/&gt;
&lt;/folder&gt;</pre>           

<li>在应用程序的 &quot;<tt>branding</tt>&quot; 文件夹中，创建如下所示的文件夹分层结构以及 <tt>Bundle.properties</tt> 文件：
 
<p><p align="left"><img border="1" src="../../images/tutorials/qsearch/brand-provider.png" alt="Brand 提供器">

<p><p>在 IDE 中，上述属性是硬编码在代码中的，但是对于 NetBeans 平台，它们没有自己的定义，因此需要像上面那样标记这些属性：

<pre>quicksearch.web.site=netbeans.org
quicksearch.web.url_patterns=.*netbeans\.org/kb.*,\
    /.*wiki\.netbeans\.org/.*faq.*,.*wiki\.netbeans\.org/.*howto.*,\
    .*platform\.netbeans\.org/tutorials.*</pre>

              <li>运行 NetBeans 平台应用程序，您应该能看到 Web 快速搜索功能现已可用：

<p><p align="left"><img border="1" src="../../images/tutorials/qsearch/clare-wigfall.png" alt="Guardian 搜索">


       </ol>
 
    </div>
 </div>
    
<!-- ======================================================================================= -->

<h2><a name="share"></a>创建可共享的模块二进制文件</h2>

<p>该模块现已完成，您可以将其交给其他用户使用了。为此，您需要创建一个 &quot;NBM&quot;（NetBeans 模块）二进制文件并分发它。 

<div class="indent">
  
      <ol>
	      <li>在“项目”窗口中，右键单击“<tt>NetBeans Zone 搜索</tt>”项目，然后选择“创建 NBM”。

	      <p><p>此时将创建 NBM 文件，您可以在“文件”窗口 (Ctrl-2) 中查看它：
	      <p><p align="left"><img border="1" src="../../images/tutorials/qsearch/shareable-binary.png" alt="可共享的 NBM。">
	      <li>例如，通过 <a href="http://plugins.netbeans.org/PluginPortal/">NetBeans 插件门户</a>向其他人提供该文件。接收者应使用插件管理器（“工具”&gt;“插件”）来安装它。
       </ol>
 
    </div>


<!-- ======================================================================================== -->


  <br>
<div class="feedback-box"><a href="https://netbeans.org/about/contact_form.html?to=3&amp;subject=Feedback:%20Quick%20Search%20Integration%20Tutorial">请将您的意见和建议发送给我们</a></div>
<br style="clear:both;" />
  
  
<!-- ======================================================================================== -->

<h2><a name="nextsteps"></a>后续步骤</h2>

<p>有关创建和开发 NetBeans 模块的详细信息，请参见以下资源： 
  <ul>
	  <li><a href="https://platform.netbeans.org/index.html">NetBeans 平台主页</a></li>
	  <li><a href="http://bits.netbeans.org/dev/javadoc/index.html">NetBeans API 列表（当前开发版本）</a></li>
  <li><a href="https://netbeans.org/kb/trails/platform_zh_CN.html">其他相关教程</a></li></ul>
  </p>
  
  <p><p>
<!-- ======================================================================================== -->
<!-- 
<h2><a name="version"></a>Versioning </h2>
<p>
<table width="76%" border="1">
 <tbody>
   <tr>
      <td>
        <div align="left"><b>Version</b></div>
      </td>
      <td>
	<div align="left"><b>Date</b></div>
      </td>
      <td>
	<div align="left"><b>Changes</b></div>
      </td>
  </tr>
  <tr>
      <td>
         1
      </td>
      <td>
         19 July 2008
      </td>
      <td>
      Initial version.
      </td>
  </tr>
 </tbody>
</table>
-->
</body>
</html>
