<HTML>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="description" content="What's new in NetBeans 3.6 ?">
<link rel="stylesheet" type="text/css" href="../../../netbeans.css">
<style type="text/css">
<!--
.ST1 {color: #99006b}
.ST0 {color: #780000}
-->
</style>
<title>What's New in NetBeans 3.6?</title>
</HEAD>
<body>
<h1>What's New in NetBeans 3.6?</h1>
<p><i>Thanks to several members of the NetBeans community who contributed this 
  page.</i></p>
<h2>Window Navigation</h2>
<table border="0" width="100%" cellspacing="10">
  <tbody> 
  <tr> 
    <td valign="top"> 
      <ul>
        <li><b>Arrange windows with drag and drop. </b>Drag any window to anywhere 
          in the IDE except the Source Editor and release. A red preview box shows 
          you the window's target destination.</li>
      </ul>
    </td>
    <td align="center" rowspan="2"><img src="../../../images_www/screenshots/3.6release/whats_new/drag_window.png" width="263" height="177" alt="screenshot of a window being moved by drag and drop"></td>
  </tr>
  <tr> 
    <td valign="top" > 
      <ul>
        <li><b>Easy window navigation.</b> Press Ctrl-` to toggle through the 
          open IDE windows and documents. This feature is like using Alt-Tab on 
          most operating system window managers.</li>
      </ul>
    </td>
  </tr>
  <tr> 
    <td valign="top"> 
      <ul>
        <li><b>Integrated task-related windows.</b> Workspaces from NetBeans IDE 
          3.5 have been replaced with task-related windows that display automatically 
          when you perform certain tasks. For example, the Debugger windows appear 
          automatically when you start a debugging session and hide when you finish 
          the session. </li>
      </ul>
    </td>
    <td align="center"><img src="../../../images_www/screenshots/3.6release/whats_new/debug_windows.png" width="356" height="149" alt="screenshot of debugger windows with the Local Variables window fronted"></td>
  </tr>
  </tbody> 
</table>
<h2>Appearance and LookAndFeel</h2>
<table border="0" width="100%" cellspacing="10">
  <tbody> 
  <tr> 
    <td valign="top"> 
      <ul>
        <li><b>IDE uses the native LookAndFeel for Windows and MacOS. </b>The 
          IDE uses Aqua on MacOS, Classic on Windows 2000, and the desktop theme 
          on Windows XP. On all other platforms, the IDE uses the Java (Metal) 
          LookAndFeel. You can set a different LookAndFeel by starting the IDE 
          with the <code>--laf <i>LaF_class_name</i></code> switch.</li>
      </ul>
    </td>
    <td rowspan="2"><img src="../../../images_www/screenshots/3.6release/whats_new/propsheet.png" width="355" height="229" alt="screenshot of the redesigned property sheet"></td>
  </tr>
  <tr> 
    <td valign="top" > 
      <ul>
        <li><b>Redesigned property sheet. </b>The new property sheet is more compact, 
          runs faster, and allows one-click editing of all properties. There's 
          also a description area that displays information about the selected 
          property. </li>
      </ul>
    </td>
  </tr>
  </tbody> 
</table>
<h2>Editor Improvements</h2>
<table border="0" width="100%" cellspacing="10">
  <tbody> 
  <tr> 
    <td valign="top"> 
      <ul>
        <li><b>Code folding. </b>You can hide method bodies, comments, import 
          statements, and other blocks of code by folding them in the Source Editor.</li>
      </ul>
    </td>
    <td rowspan="2" align="center" valign="top"><img src="../../../images_www/screenshots/3.6release/whats_new/code_fold.png" width="356" height="102" alt="screenshot of an expanded block of code and a collapsed block of code in the Source Editor"></td>
  </tr>
  <tr> 
    <td valign="top" > 
      <ul>
        <li><b>Overriding methods. </b>The Source Editor marks all inherited methods 
          in the the left margin. Hold your mouse over the icon to see which class 
          or interface the method is inherited from.</li>
      </ul>
    </td>
  </tr>
  <tr> 
    <td valign="top" > 
      <ul>
        <li><b>To Do window. </b>You can easily track your tasks and TODO comments 
          using the To Do window. You can view all tasks in a single file or in 
          a selected directory.</li>
      </ul>
    </td>
    <td valign="top" rowspan="2" align="center" ><img src="../../../images_www/screenshots/3.6release/whats_new/todo.png" width="347" height="145" alt="screenshot of the TODO window listing all of the TODO comments in an open file"></td>
  </tr>
  <tr> 
    <td valign="top" > 
      <ul>
        <li><b>Automatic insertion of closing bracket/quotes/parentheses. </b>The 
          Source Editor now automatically closes all open parentheses, brackets, 
          and quotes. For example, type <tt>System.out.println(</tt> and the IDE 
          automatically enters the closing <tt>)</tt>. </li>
      </ul>
    </td>
  </tr>
  <tr> 
    <td valign="top" > 
      <ul>
        <li><b>Form Editor integration.</b> The Form Editor has been integrated 
          as a tab in the Source Editor. The GUI Editing workspace has been replaced 
          with with Palette, Inspector, and Properties windows that appear automatically 
          whenever a Form Editor tab is selected. </li>
      </ul>
    </td>
    <td rowspan="4" align="center" valign="top"><img src="../../../images_www/screenshots/3.6release/whats_new/form.png" width="353" height="250" alt="screenshot of the newly designed form editor windows"></td>
  </tr>
  <tr> 
    <td valign="top" > 
      <ul>
        <li><b>Print as HTML.</b> You can take any Java file and output it to 
          formatted HTML for publishing on the web.</li>
      </ul>
    </td>
  </tr>
  <tr> 
    <td valign="top" > 
      <ul>
        <li><b>Tooltip error description. </b>Hold the mouse over any text containing 
          compilation errors to view the error in a tooltip.</li>
      </ul>
    </td>
  </tr>
  <tr>
    <td valign="top" >
      <ul>
        <li><b>Easy splitting of the Source Editor. </b>Drag and drop any open 
          document tab to the bottom or left margin of the Source Editor to view 
          multiple documents at once.</li>
      </ul>
    </td>
  </tr>
  </tbody> 
</table>
<h2>Web/J2EE Development</h2>
<table border="0" width="100%" cellspacing="10">
  <tbody> 
  <tr> 
    <td> 
      <ul>
        <li> <b>Servlet 2.4 &amp; JSP 2.0.</b> The parser database has been upgraded 
          to support Servlet 2.4 and JSP 2.0 specifications.</li>
      </ul>
    </td>
    <td rowspan="3" align="center" valign="top"><img src="../../../images_www/screenshots/3.6release/whats_new/html_complete.png" width="358" height="186" alt="screenshot of case-sensitive code completion"></td>
  </tr>
  <tr> 
    <td > 
      <ul>
        <li><b>Tomcat 5.</b> You can deploy and debug two-tier J2EE 1.4 and 1.3 
          applications to Tomcat 5 in the IDE.</li>
      </ul>
    </td>
  </tr>
  <tr> 
    <td > 
      <ul>
        <li><b>Case-sensitive HTML code completion.</b> HTML code completion now 
          enters the tags in uppercase or lowercase instead of in uppercase only.</li>
      </ul>
    </td>
  </tr>
  <tr> 
    <td > 
      <ul>
        <li><b>Opening/closing tag matching. </b>Put your text caret in any tag 
          to highlight its closing tag.</li>
      </ul>
    </td>
    <td rowspan="2" align="center" valign="top"><img src="../../../images_www/screenshots/3.6release/whats_new/match_tag.png" width="354" height="111" alt="screenshot an HTML file in the source editor. The cursor is on a closing tag and the source editor is highlighting the matching opening tag"></td>
  </tr>
  <tr> 
    <td > 
      <ul>
        <li><b>Validate JSP. </b>The IDE provides a Validate action for JSPs instead 
          of a Compile action. The Validate action detects all syntax problems 
          except for syntax errors that occur at translation time. These types 
          of errors are usually limited to files that contain embedded scriptlets.</li>
      </ul>
    </td>
  </tr>
  </tbody> 
</table>
<h2>Ant Support</h2>
<table border="0" width="100%" cellspacing="10">
  <tbody> 
  <tr> 
    <td> 
      <ul>
        <li> <b>Ant 1.6.1 integration. </b>The IDE now comes bundled with Ant 
          1.6.1.</li>
      </ul>
    </td>
    <td rowspan="3" align="center" valign="top"><img src="../../../images_www/screenshots/3.6release/whats_new/ant.png" width="353" height="192" alt="screenshot of the new Ant Properties in the Options window with properties for managing the classpath and Ant versions"></td>
  </tr>
  <tr> 
    <td > 
      <ul>
        <li><b>Easy management of the Ant classpath. </b>Go to Ant Settings in 
          the Options window and add any additional directories or libraries to 
          Ant's classpath using the Additional Classpath property.</li>
      </ul>
    </td>
  </tr>
  <tr> 
    <td > 
      <ul>
        <li><b>Easy management of Ant versions. </b>Go to Ant Settings in the 
          Options window and choose any Ant installation in the Ant Home property.</li>
      </ul>
    </td>
  </tr>
  </tbody> 
</table>
<h2>JUnit Support</h2>
<table border="0" width="100%" cellspacing="10">
  <tbody> 
  <tr> 
    <td> 
      <ul>
        <li><b>JUnit 3.8.1 support.</b> JUnit 3.8.1 comes bundled with NetBeans 
          IDE. You can automatically generate tests and test suites in both text 
          and GUI mode. </li>
      </ul>
    </td>
    <td>&nbsp;</td>
  </tr>
  </tbody> 
</table>
<h2>Version Control Integration</h2>
<table border="0" width="100%" cellspacing="10">
  <tbody> 
  <tr> 
    <td> 
      <ul>
        <li><b>Streamlined CVS design.</b> Both the built-in CVS client and command-line 
          CVS support have been harmonized to use the same wizards, property editors, 
          and command dialog boxes. </li>
      </ul>
    </td>
    <td rowspan="2" align="center" valign="top"><img src="../../../images_www/screenshots/3.6release/whats_new/vcs.png" width="363" height="143" alt="screenshot of the new VCS Output window displaying the output from a CVS Update command"></td>
  </tr>
  <tr> 
    <td> 
      <ul>
        <li><b>Improved display of VCS command output.</b> The output for all 
          VCS commands are now displayed as tabs in the VCS Output window. You 
          can view the command's progress and stop any running command.</li>
      </ul>
    </td>
  </tr>
  </tbody> 
</table>
<h2>Help System Improvements</h2>
<table border="0" width="100%" cellspacing="10">
  <tbody> 
  <tr> 
    <td> 
      <ul>
        <li><b>Unified Help system.</b> NetBeans IDE merges the help for all modules 
          into a single table of contents and index for easier navigation.</li>
      </ul>
    </td>
    <td>&nbsp;</td>
  </tr>
  </tbody> 
</table>
<h2>Other Changes</h2>
<table border="0" width="100%" cellspacing="10">
  <tbody> 
  <tr> 
    <td rowspan="7"> 
      <ul>
        <li>The IDE is no longer runs on v. 1.3.1 of the Java<sup class="tmtext">TM</sup> 
          2 SDK, Standard Edition and is no longer tested on v. 1.4.0 and 1.4.1. 
          The recommended JDK version is 1.4.2.</li>
        <li>File Size and Modification Time added to the property sheets for some 
          nodes.</li>
        <li>There is no longer a filter toolbar in the Debugger window. You can 
          access all debugger windows in the Windows &gt; Debugger menu. <!--37886--> 
        </li>
        <li>The Startup folder was removed from the Options window, so there is 
          no longer a way in the user interface to specify classes that are run 
          in the IDE at IDE startup.</li>
        <li>Apache's regular expression library is no longer included in the IDE. 
          The IDE now uses the <tt>java.util.regex</tt> package for regular expression 
          support. Non-standard POSIX-like character classes (<tt>[:javastart:] 
          and [:javapart:]</tt>) are no longer supported.</li>
        <li>It is no longer possible to have more than one instance of the IDE 
          run simultaneously on the same user directory.</li>
        <li>IDE command-line switches can now be entered in GNU style, meaning 
          they are preceeded with two dashes (for example,<tt> --jdkhome</tt>) 
          rather than one. Single letter switches like <tt>-h</tt> and JVM flags 
          are still entered with one dash.</li>
      </ul>
      </td>
    <td>&nbsp;</td>
  </tr>
  </tbody> 
</table>
</body>
</html>
