<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--
Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved.
-->

<html>
    <head>
        <title>NetBeans IDE 中的 JDK 7 支持概述</title>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" >
        <link rel="stylesheet" type="text/css" href="../../../netbeans.css">
        <meta name="KEYWORDS" content="NETBEANS, TUTORIAL, GUIDE, USER, DOCUMENTATION">
       
        <meta name="description" content="A short guide to using JDK 7 features in NetBeans IDE. Also includes information on setting the JDK."/>
    </head>

    <body>

        <h1>NetBeans IDE 中的 JDK 7 支持概述</h1>
        <p>NetBeans IDE 引入了对新 JDK 7 语言功能的支持，例如菱形运算符、switch 中的 String、multicatch 等。在代码中使用这些结构时，IDE 会识别它们，在代码完成中提供正确的类，正确突出显示错误并使您能够自动修复语法。因此，NetBeans IDE 可帮助您编写与 JDK 7 语言规范兼容的代码。 </p>
        <p>在本教程中，您将了解如何在 IDE 中启用 JDK 7 支持以及 IDE 如何处理新的语言结构。 </p>
    <p><b>目录</b></p>
        <img alt="此页上的内容适用于 NetBeans IDE 7.0 和 7.1" class="stamp" src="../../../images_www/articles/70/netbeans-stamp-70-71.png" title="此页上的内容适用于 NetBeans IDE 7.0 和 7.1">
        <ul class="toc">
            <li><a href="#add" title="项目设置">在 NetBeans IDE 中注册 Java 7</a></li>
            <li><a href="#project">配置项目以使用 JDK 7</a></li>
            <li><a href="#switch">使用新的 JDK 7 语言结构：Switch 语句</a></li>
            <li><a href="#more">JDK 7 支持：更多示例</a></li>
            <li><a href="#nextsteps" title="后续步骤">后续步骤</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="http://www.netbeans.org/downloads/index.html">NetBeans IDE</a></td>
                    <td class="tbltd1">版本 7.0 和 7.1</td>
                </tr>
                <tr>
                    <td class="tbltd1"><a href="http://www.oracle.com/technetwork/java/javase/downloads/index.html" target="_blank">Java 开发工具包 (JDK)</a></td>
                  <td class="tbltd1">版本 7</td>
                </tr>
            </tbody>
        </table>
        <h2><a name="add"></a>在 NetBeans IDE 中注册 Java 7 </h2>
        <!--<p>Before the official release of Java™ Platform, Standard Edition 7, you can obtain the JDK 7 source code and development builds from the <a href="http://openjdk.java.net/projects/jdk7" target="_blank">OpenJDK Project</a> website. </p>-->
        <p><strong>在 NetBeans IDE 中启用 JDK 7 支持：</strong></p>
        <ol>
          <li>下载 JDK 7 并将其安装在系统上。</li>
          <li>在 IDE 中，从主菜单中选择 "Tools"（工具）> "Java Platforms"（Java 平台）。</li>
          <li>单击 "Add Platform"（添加平台），然后指定包含 JDK 的目录，例如，在 Windows 上，这是 JDK 安装目录，默认为 <tt>C:\Program Files\Java\jdk1.7.0</tt>。<br> 包含 Java 平台的目录将使用 <img alt=""Java Platform"（Java 平台）图标" src="../../../images_www/articles/70/java/javase-jdk7/platform.gif"> 图标标记。 </li>
          <li>在 "Platform Name"（平台名称）步骤中，验证平台源 zip 文件和 API 文档的默认位置是否有效。 </li>
		  <li>单击 "Finish"（完成）以关闭 "Add Java Platform"（添加 Java 平台）对话框。</li>
		  <li>确保在 "Platforms"（平台）列表中选择了 JDK 1.7，然后单击 "Close"（关闭）。</li>
        </ol>
		<table>
		<tr>
		<!-- Start Embed Video -->
         <td class="valign-top" class="align-center" width="480" >  
		  <embed src="http://bits.netbeans.org/media/register-jdk7.swf" type="application/x-shockwave-flash" width="480" height="270" allowscriptaccess="always" allowfullscreen="true" autoplay="false" controller="true" scale="aspect"></embed>                          
<td>单击<a href="http://bits.netbeans.org/media/register-jdk7.swf">此处</a>以查看全图，按住 Ctrl 键单击即可下载，大小为 1,1 MB。</td>
<!-- End Embed Video -->
</tr>
  </table> 
        <p class="notes"><strong>注：</strong>默认的平台 Javadoc API 位置是该 <a href="http://download.java.net/jdk7/docs/" target="_blank">Web URL</a>。要进行脱机使用，您可以从 <a href="http://dlc.sun.com.edgesuite.net/jdk7/binaries/index.html" target="_blank">JDK7 二进制文件快照页</a>下载 Javadoc JAR 文件，并指定该文件在系统上的位置。  </p>
    <h2><a name="project"></a>配置项目以使用 JDK 7</h2>
    <p>在 IDE 中注册了 JDK 7 后，需要配置项目，以使用该 JDK 进行编译、运行和调试。 </p>
    <ol>
      <li>创建 Java 项目。选择 "File"（文件）> "New Project"（新建项目），然后选择 "Java Application"（Java 应用程序）作为项目类型。单击 "Next"（下一步）。</li>
      <li>键入 <tt>SwitchTest</tt> 作为项目名称并指定其位置。  </li>
      <li>在 "Files"（文件）窗口中，右键单击 <tt>SwitchTest</tt> 项目节点，然后选择 "Properties"（属性）> "Libraries"（库）。在此标签上，从 "Java Platforms"（Java 平台）列表中选择 "JDK 1.7"。<br> <img alt="将 JDK 7 设置为目标格式。" class="margin-around b-all" src="../../../images_www/articles/70/java/javase-jdk7/props-libs.png"></li>
      <li>切换到 "Project Properties"（项目属性）窗口的 "Sources"（源）标签，然后选择 "JDK 7" 作为源代码/二进制格式。 <br> <img alt="将 JDK 7 指定为源格式" class="margin-around" height="431" src="../../../images_www/articles/70/java/javase-jdk7/props-sources.png" width="573"></li>
      <li>单击 "OK"（确定）以保存所做的更改。此时将设置项目以识别新的 JDK 7 语言功能。<br>
      </li>
    </ol>
	<table>
		<tr>
		<!-- Start Embed Video -->
         <td class="valign-top" class="align-center" width="480" >  
		  <embed src="http://bits.netbeans.org/media/configuring-project-jdk7.swf" type="application/x-shockwave-flash" width="480" height="270" allowscriptaccess="always" allowfullscreen="true" autoplay="false" controller="true" scale="aspect"></embed> 
<td>单击<a href="http://bits.netbeans.org/media/configuring-project-jdk7.swf">此处</a>以查看全图，按住 Ctrl 键单击即可下载，大小为 1,3 MB。</td>
<!-- End Embed Video -->
</tr>
  </table> 
  
    <h2><a name="switch"></a>使用新的 JDK 7 语言结构：Switch 语句</h2>
    <p>JDK 7 在不同领域提供了一些<a href="http://openjdk.java.net/projects/jdk7/features/" target="_blank">新增功能和改进功能</a>，其中包括国际化、I/O 和网络、安全等。要说明 IDE 的 Java 编辑器提供的 JDK 7 支持，最好的方法是演示 Project Coin 引入的一些语言变化。 </p>
        <p>其中一个变化是“switch 中的 String”。在早期版本的 Java 中，<tt>switch</tt> 的参数只能属于以下基本数据类型：<tt>byte</tt>、<tt>short</tt>、<tt>char</tt>、<tt>int</tt> 或 <tt>enum</tt>。从 JDK 7 开始，您可以在 <tt>switch</tt> 语句的表达式中使用 <tt>String</tt> 类型的参数。 </p>
        <ol>
          <li>打开 <tt>SwitchTest.java</tt>，并添加以下代码。该小样例显示几种颜色的 RGB 代码。<br> 对于 JDK 7，<tt>color</tt> 变量可以为 <tt>String</tt>。 
            <pre class="examplecode">package switchtest;

    public class SwitchTest {

    public static void main(String[] args) {

        String color = "red";
        String colorRGB;
        switch (color.toLowerCase()) {
            case "black": colorRGB = "000000"; break;
            case "red": colorRGB = "ff0000"; break;
            case "green": colorRGB = "008000"; break;
            case "blue": colorRGB = "0000ff"; break;
            default: colorRGB = "Invalid color"; break;
        }
        System.out.println(colorRGB);
        }
    }
</pre>
            
          <p class="tips">如果在编辑器中错误地设置了粘贴的代码格式，请按 Alt-Shift-F 组合键以重新设置格式。</p>
          </li>
          <li>在 "File"（文件）窗口中，右键单击项目节点，然后选择 "Run"（运行）。此时将会看到应用程序输出，这是红色的 RGB 代码。<br> 如果目标平台和源格式为 JDK 7，您可以看到构建成功，并且应用程序正常工作。 <br> <img alt="运行项目的输出。" class="margin-around b-all" height="82" src="../../../images_www/articles/70/java/javase-jdk7/output.png" width="326"></li>
          <li>让我们改用以前的 JDK 6，并测试如何使用 JDK 6 编译器编译应用程序。<br> 在 "Files"（文件）窗口中，右键单击项目节点，然后选择 "Properties"（属性）。在 "Libraries"（库）标签上将 "Java Platform"（Java 平台）设置为 <tt>JDK 1.6</tt>，然后在 "Sources"（源）标签上将 "Source Format"（源格式）选项设置为 <tt>JDK 6</tt>。<br> 您可以立即看到 JDK6 解析器无法识别语法。编译将失败，因为变量类型不兼容。 <br> <img alt="运行项目的输出。" class="margin-around b-all" height="142" src="../../../images_www/articles/70/java/javase-jdk7/error.png" width="482"></li>
          <li>现在，让我们使用 <tt>if-then-else</tt> 语句而非 <tt>switch</tt> 重新编写代码，如图所示。<br> 在将 JDK 7 作为目标平台的情况下，IDE 将识别这种情况，并允许您将其转换为 <tt>switch</tt>。<br> 单击该提示，<tt>if-then-else</tt> 结构将自动转换为 <tt>switch</tt>，这与我们以前使用的 switch 完全相同。 <br> <img alt="将 if-then-else 转换为 switch" class="margin-around b-all" height="320" src="../../../images_www/articles/70/java/javase-jdk7/convert.png" width="398"></li>
          <li>使用不同的值运行应用程序。 </li>
        </ol>
		<table>
		<tr>
		<!-- Start Embed Video -->
         <td class="valign-top" class="align-center" width="480" >  
		  <embed src="http://bits.netbeans.org/media/jdk7-switch-statement.swf" type="application/x-shockwave-flash" width="480" height="270" allowscriptaccess="always" allowfullscreen="true" autoplay="false" controller="true" scale="aspect"></embed>                          
<td>单击<a href="http://bits.netbeans.org/media/jdk7-switch-statement.swf">此处</a>以查看全图，按住 Ctrl 键单击即可下载，大小为 2,5 MB。</td>
<!-- End Embed Video -->
</tr>
  </table> 
        <h2><a id="more" name="more"></a>JDK 7 支持：更多示例</h2>
        <p>要演示 IDE 的 Java 编辑器如何识别和自动修复代码，以便与 JDK 7 语言规范兼容，让我们使用一个虚拟代码片段，该代码片段本身没有什么意义，但它包含所有主要的语言改进功能。 </p>
        <p>在逐步完成该虚拟代码片段并应用编辑器提示后，您将看到以下功能的操作方法示例： </p>
        <ul>
          <li>在 Java 编译器可以推断通用实例类型而无需明确指定该类型时，利用自动类型推断。使用所谓的<em>菱形运算符</em>来标记类型推断情况。 </li>
          <li>在可以使用一个 <tt>catch</tt> 块处理几种类型的异常错误时，使用改进的异常错误处理或 <em>multi-catch</em>。 <br>
          </li>
          <li>使用自动资源管理功能引入的资源关闭语句的新语法。 </li>
        </ul>
        <ol>
          <li>将同一 <tt>SwitchTest.java</tt> 文件中的旧应用程序代码替换为以下内容：<br>
		  <pre class="examplecode">
package switchtest;


import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;

public class SwitchTest {

    public void test() throws IOException {
        List&lt;String&gt; list = new ArrayList&lt;String&gt;();
        HashMap&lt;String, Integer&gt; map = new HashMap&lt;String, Integer&gt;();
        HashMap&lt;String, Integer&gt; map2 = new HashMap&lt;String, Integer&gt;();
        String a = "ehlo";

        try {
            Method m = Object.class.getMethod("toString");
            m.invoke(this);
        } catch(NoSuchMethodException e) {
            e.printStackTrace();
        } catch(InvocationTargetException e) {
            e.printStackTrace();
        } catch(IllegalAccessException e) {
            e.printStackTrace();
        }

        FileInputStream in = null;
        try {
            in = new FileInputStream("foo.txt");

            int k;
            while ((k = in.read()) != -1) {
                System.out.write(k);
            }
        } finally {
            if (in != null) {
                in.close();
            }
        }
    }
}
 </pre>
          </li>
          <li>请注意，IDE 将显示一些说明如何优化代码以符合 JDK 7 规范的提示，如本教程中上面所述。只需单击每个提示并选择建议的操作即可。 <br>
</li>
          <li>最后，接受了所有建议后，您就应该具有与 JDK 7 兼容的代码，如下所示。<br> <img alt="已转换代码片段" class="margin-around b-all" src="../../../images_www/articles/70/java/javase-jdk7/converted.png"><br>
          </li>
        </ol>
       <table>
		<tr>
		<!-- Start Embed Video -->
         <td class="valign-top" class="align-center" width="480" >  
		  <embed src="http://bits.netbeans.org/media/jdk7-examples.swf" type="application/x-shockwave-flash" width="480" height="270" allowscriptaccess="always" allowfullscreen="true" autoplay="false" controller="true" scale="aspect"></embed>                          
<td>单击<a href="http://bits.netbeans.org/media/jdk7-examples.swf">此处</a>以查看全图，按住 Ctrl 键单击即可下载，大小为 1,8 MB。</td>
<!-- End Embed Video -->
</tr>
  </table> 
        <div class="indent"></div>
        <!--<br>-->
        <div class="feedback-box"><a href="/about/contact_form.html?to=3&subject=Feedback: JDK 7 Support in NetBeans IDE 7.0: A Quick Overview">请将您的反馈意见发送给我们</a></div>
        <br style="clear:both;" />
        <h2><a name="nextsteps"></a>后续步骤</h2>
        <p>有关 JDK 7 和 NetBeans IDE 的详细信息，请参见：        </p>
        <ul>
            <li><a href="http://wiki.netbeans.org/NewAndNoteworthyNB70#JDK7_support" target="_blank">7.0 的新增功能和重要功能</a> - 提供 NetBeans IDE 中实现的功能的详细信息。</li>
            <li><a href="http://blogs.sun.com/arungupta/entry/screencast_35_jdk_7_project" target="_blank">演示：NetBeans IDE 7.0 Beta 中的 JDK 7 Project Coin 功能</a> - NetBeans IDE 中的 JDK 7 功能支持的视频演示。 </li>
            <li><a href="http://download.oracle.com/javase/tutorial/essential/io/fileio.html" target="_blank">Java 教程：文件 I/O</a> - Java 教程中的一个部分，其中包含 JDK 7 中的一些 I/O 变化示例。</li>
            <li><a href="http://download.oracle.com/javase/tutorial/essential/concurrency/forkjoin.html" target="_blank">Java 教程：分支和结合</a> - 说明了 JDK7 中的新分支/结合框架。 </li>
        </ul>

        <p>有关在 NetBeans IDE 中开发 Java 应用程序的详细信息，请参见： </p>
        <ul>
          <li><a href="javase-intro.html">开发常规 Java 应用程序</a></li>
          <li><a href="editor-codereference.html">NetBeans IDE Java 编辑器中的代码帮助</a></li>
          <li><a href="../../trails/java-se.html">常规 Java 开发学习资源</a></li>
        </ul>
</body>
</html>
