blob: f91a946a2b2fd7ba6312e8df44644dbba3bc3cb0 [file] [log] [blame]
<!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>
<title>What's New in NetBeans Platform 6.9?</title>
<link rel="stylesheet" type="text/css" href="https://netbeans.org/netbeans.css"/>
<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="Overview of new features in NetBeans Platform 7.0"/>
</head>
<body>
<h1>What's New in NetBeans Platform 7.0?</h1>
<p>An overview of changes relating to
<a href="https://platform.netbeans.org/">NetBeans Platform 7.0</a>, which is the
Swing framework that underpins applications such as NetBeans IDE.</p>
<p><b>Note:</b> <a href="https://platform.netbeans.org/whatsnew/69.html">Click here</a> for the previous
release of this document.</p>
<p><b>NetBeans APIs</b>.</p>
<p>A full list of API changes is found at <a href="http://bits.netbeans.org/7.0/javadoc/apichanges.html">http://bits.netbeans.org/7.0/javadoc/apichanges.html</a>,
with the highlights listed below.</p>
<ul>
<li><b>@Messages.</b> Use the <a href="http://bits.netbeans.org/dev/javadoc/org-openide-util/org/openide/util/NbBundle.Messages.html">@Messages</a> annotation and you'll not need to work with bundle files anymore. Read <a href="http://blogs.sun.com/geertjan/entry/messages">this blog entry</a> for all the great reasons for using this annotation. Be careful, this particular annotation is addictive and will slowly take over your life. See the <a href="https://platform.netbeans.org/tutorials/nbm-nodesapi.html">System Properties Tutorial</a> for a full blown example that makes heavy use of this annotation.
<p></p></li><li><b>@TopComponent.*</b> Use the <a href="http://bits.netbeans.org/dev/javadoc/org-openide-windows/org/openide/windows/TopComponent.Registration.html">@TopComponent.*</a> annotations to register TopComponents in the window system. The annotations let you specify, among other things, the position and the default opened state of each window, as class-level annotations at the top of each TopComponent class. To try this out, use the "New Window Component" wizard and you'll end up with an annotated TopComponent class.
<p></p></li><li><b>@Action*.</b> Use the <a href="http://bits.netbeans.org/dev/javadoc/org-openide-awt/org/openide/awt/ActionRegistration.html">@Action*.</a> annotations to bind Actions to menus, toolbars, keyboard shortcuts, and popups on the NetBeans Platform. To try these out, use the "New Action" wizard, which will (instead of creating entries in a layer file) create an Action class with annotations. See the <a href="https://platform.netbeans.org/tutorials/nbm-google.html">NetBeans Platform Quick Start</a> for a full blown example that uses these annotations a lot.
<p></p></li><li><b>@Mime*.</b> Use the <a href="http://bits.netbeans.org/dev/javadoc/org-netbeans-modules-editor-mimelookup/org/netbeans/spi/editor/mimelookup/MimeLocation.html">@Mime*.</a> annotations to bind features to MIME types. Read the NetBeans Zone article <a href="http://netbeans.dzone.com/news/mimelocation-mimeregistration">@MimeLocation, @MimeRegistration and @MimeRegistrations added</a> for details.
<p></p></li><li><b>@HelpSetRegistration.</b> Use <a href="http://bits.netbeans.org/dev/javadoc/org-netbeans-modules-javahelp/org/netbeans/api/javahelp/HelpSetRegistration.html">@HelpSetRegistration</a> to register helpsets in the central registry, i.e., no need to manually use a layer anymore, since at compile time the registration will be done for you thanks to this annotation. To see this in action, use the "JavaHelp Help Set" wizard in the IDE.
<p></p></li><li><b>Profiler integration with the NetBeans Platform.</b> A subset of the Profiler has been added to the NetBeans Platform, enabling self-sampling, which is typically during the development phase. Visible evidence of this is the new Profile button in a deployed NetBeans Platform application.
<p></p></li><li><b>Better IconView.</b> The IconView looked quite bad previously, each node was displayed very large and no visualization was shown for the selected node. <a href="http://netbeans.dzone.com/news/iconview-bettericonview">Read here on NetBeans Zone how Aljoscha Rittner, a NetBeans Dream Team member</a>, fixed this problem and contributed it to the NetBeans sources.
<p></p></li><li><b>Functional testing in Maven-based NetBeans Platform applications.</b> Together with <a href="http://wiki.netbeans.org/NewAndNoteworthyNB70#Maven">many enhancements in the Maven areas of NetBeans IDE</a>, you can now refer to <a href="http://netbeans.dzone.com/nb-mvn-functional-tests">
Functional Tests in a Maven-Based NetBeans Platform Application</a>, since functional testing is now possible in Maven based NetBeans Platform applications. Also read about <a href="http://bits.netbeans.org/dev/javadoc/org-netbeans-modules-nbjunit/org/netbeans/junit/NbModuleSuite.html">NbModuleSuite</a>, since this is the key NetBeans API class used in this process.
<p></p></li><li><b>Network Settings API.</b> A <a href="http://wiki.netbeans.org/NewAndNoteworthyNB70#Network_Settings_API">new API</a>, <a href="http://blogs.sun.com/rechtacek/entry/new_network_settings_in_netbeans">described here by Jirka Rechtacek, the API's author, in his blog</a>.
<p></p></li><li><b>New implementation of WeakSet with two new methods, 'putIfAbsent' and 'resize'.</b> New method putIfAbsent gives access to key already stored in Set. Method resize allows to change capacity of internal hash map. <a href="http://bits.netbeans.org/dev/javadoc/org-openide-util/apichanges.html#WeakSet.putIfAbsent">Read about this here.</a>
<p></p></li><li><b>New native library lookup mechanism.</b> You can now distribute native libraries into architecture and OS specific directories under modules/lib. <a href="http://bits.netbeans.org/dev/javadoc/org-openide-modules/apichanges.html#ClassLoader.findLibrary">Read about this here.</a>
<p></p></li><li><b>Better support for vi mode.</b> Support for chunking edits via BEGIN_COMMIT_GROUP and END_COMMIT_GROUP. <a href="http://bits.netbeans.org/dev/javadoc/org-openide-text/apichanges.html#commit-groups">Read about this here.</a></li>
</ul>
<p><b>Tutorials.</b> Most NetBeans Platform tutorials have
been updated to NetBeans Platform 7, with many thanks to particularly
Charles Bedon from NetCat for his involvement and the many reviews of
the tutorials that he did.
</p><p><b>Courses.</b> In addition to all of the above, quite a lot of
NetBeans Platform training events have taken place in the past months, e.g.,
in Germany, Mexico, Boston in the US, Sweden, and France.
</p><p><b>Community.</b> Let's also not forget to mention the
various community contributions that assist work on the NetBeans Platform. On this
front, first prize goes to the University of Southern Denmark
in Odense, for <a href="http://javeleon.org/">Javeleon</a> and <a href="http://featureous.org/">Featureous</a>. If you're using the NetBeans Platform and haven't checked out those two projects, you need to do so now, they're really great.
</p><p><b>NetBeans Platform DZone Refcard.</b> Finally, the <a href="http://refcardz.dzone.com/refcardz/netbeans-platform-70">NetBeans Platform 7.0</a> DZone Refcard has become available (sponsored by Eppleton), while a number of NetBeans Platform books are in the pipeline.</p>
</body>
</html>