| <!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.8?</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 6.8"/> |
| </head> |
| <body> |
| <h1>What's New in NetBeans Platform 6.8?</h1> |
| |
| <p>An overview of changes relating to |
| <a href="https://platform.netbeans.org/">NetBeans Platform 6.8</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/67.html">Click here</a> for the previous |
| release of this document.</p> |
| |
| <h3>New & Changed Features</h3> |
| |
| <p>Read all of the enhancements <a href="http://bits.netbeans.org/6.8/javadoc/apichanges.html">here</a>, with |
| the main new feature highlights as follows:</p> |
| |
| <ul> |
| <li><b>Annotations.</b> Continuing the trend from NetBeans Platform 6.7, |
| several items can be registered via annotations. Below is the list |
| of annotations introduced in NetBeans Platform 6.8: |
| <ul> |
| <li><a href="http://bits.netbeans.org/dev/javadoc/org-netbeans-modules-projectuiapi/apichanges.html#CompositeCategoryProvider.Registration">@CompositeCategoryProvider.Registration</a></li> |
| <li><a href="http://bits.netbeans.org/dev/javadoc/org-netbeans-modules-settings/apichanges.html#convert.as.javabean">@ConvertAsJavaBean</a></li> |
| <li><a href="http://bits.netbeans.org/dev/javadoc/org-netbeans-api-debugger-jpda/org/netbeans/spi/debugger/jpda/Evaluator.Registration.html">@Evaluator</a></li> |
| <li><a href="http://bits.netbeans.org/dev/javadoc/org-netbeans-modules-options-api/org/netbeans/spi/options/OptionsPanelController.ContainerRegistration.html">@OptionsPanelController.ContainerRegistration</a></li> |
| <li><a href="http://bits.netbeans.org/dev/javadoc/org-netbeans-modules-options-api/org/netbeans/spi/options/OptionsPanelController.SubRegistration.html">@OptionsPanelController.SubRegistration</a></li> |
| <li><a href="http://bits.netbeans.org/dev/javadoc/org-netbeans-modules-options-api/org/netbeans/spi/options/OptionsPanelController.TopLevelRegistration.html">@OptionsPanelController.TopLevelRegistration</a></li> |
| </ul></li> |
| |
| <li><b>LayerBuilder.</b> Each of the annotations above, as well |
| as the others that the NetBeans Platform provides, generate |
| registration tags at compile time, such as in your layer.xml file. |
| In addition to using these predefined annotations, you can create |
| your own, using the <a href="http://bits.netbeans.org/dev/javadoc/org-openide-filesystems/org/openide/filesystems/annotations/LayerBuilder.html">org.openide.filesystems.annotations.LayerBuilder</a> |
| class, which was introduced in NetBeans Platform 6.7 and enhanced in 6.8. For all |
| the details, see the Javadoc for the new <a href="http://bits.netbeans.org/dev/javadoc/org-openide-filesystems/org/openide/filesystems/annotations/package-summary.html">org.openide.filesystems.annotations</a> |
| package.</li> |
| |
| <li><b><tt>ActionListeners</tt> for Context Aware Actions and Callback Actions.</b> |
| Where in recent releases, <tt>ActionListeners</tt> could |
| be registered in the layer file as Always Enabled Actions, |
| <a href="http://bits.netbeans.org/dev/javadoc/org-openide-awt/apichanges.html#Actions.context">this is now also possible for other actions</a> too. |
| <a href="http://blogs.sun.com/geertjan/entry/the_continuing_march_of_actionlistener">More details here.</a></li> |
| |
| <li><b>Declarative Asynchronous Actions.</b> By adding a single |
| attribute to an action registration in the layer file, |
| you can let the <a href="http://bits.netbeans.org/dev/javadoc/org-openide-awt/apichanges.html#Actions.asynchronous">action process asynchronously</a>. In these |
| cases, you therefore do not have to code an implementation |
| of the NetBeans Platform's RequestProcessor class. |
| <a href="http://blogs.sun.com/geertjan/entry/asynchronous_actions_and_netbeans_platform">More details here.</a></li> |
| |
| <li><b><tt>SaveCookie</tt>.</b> In previous releases, you needed |
| to create a dummy node in order to work with |
| <tt>SaveCookie</tt>, which is the interface for integrating |
| with the NetBeans Platform's save functionality. |
| Now, you don't. <a href="http://blogs.sun.com/geertjan/entry/the_divorce_of_savecookies_from">More details here.</a> |
| Note that we still have no satisfactory way of generalizing <tt>SaveAllAction</tt>.</li> |
| |
| <li><b>Programmatically Cause a Restart.</b> Use <tt>LifecycleManager.markForRestart</tt> |
| to restart an application after exiting. <a href="http://bits.netbeans.org/dev/javadoc/org-openide-util/apichanges.html#LifecycleManager.markForRestart">More details here.</a></li> |
| |
| <li><b>Support for Disabled Buttons.</b> Create low color |
| saturation <a href="http://bits.netbeans.org/dev/javadoc/org-openide-util/apichanges.html#ImageUtilities.createDisabled">icons for disabled buttons</a> |
| via the new <tt>ImageUtilities.createDisabledIcon</tt> |
| and <tt>ImageUtilities.createDisabledImage</tt>.</li> |
| |
| <li><b>Enhanced Output Window APIs</b>. Added API to |
| have better control of text color |
| and hyperlinks, which can be a big benefit |
| to people using the Output Window. While in NetBeans Platform In 6.7 |
| it was possible to control the color of whole lines, |
| now you can use <tt><a href="http://bits.netbeans.org/dev/javadoc/org-openide-io/org/openide/windows/IOColorPrint.html">IOColorPrint</a>.print()</tt> methods to |
| do any coloring you want. Also, you can have several |
| hyperlinks on a single line. <a href="http://bits.netbeans.org/dev/javadoc/org-openide-io/apichanges.html#Color-printing">More details here.</a></li> |
| |
| |
| </ul> |
| |
| <h3>Enhancements to NetBeans IDE APIs</h3> |
| |
| <p>NetBeans IDE, the development tool created on top of the |
| NetBeans Platform, underwent several changes in its APIs |
| during the 6.8 timeframe.</p> |
| |
| <ul> |
| <li><b><a href="http://bits.netbeans.org/dev/javadoc/org-netbeans-modules-server/overview-summary.html">Common Server API</a>.</b> |
| This API is under development. It lets you register server implementations, without |
| the requirement that the server is an implementation of a Java EE specification. |
| <a href="http://blogs.sun.com/geertjan/entry/netbeans_common_server_api">More details here.</a></li> |
| <li><b><a href="http://bits.netbeans.org/dev/javadoc/org-netbeans-modules-diff/">Diff API</a>.</b> Support |
| for everything related to creation and visualization of diffs. |
| This library lets you register various diff providers and visualizers |
| and provides programmatic access to their functionality. |
| <a href="http://blogs.sun.com/geertjan/entry/netbeans_diff_api">More details here.</a></li> |
| <li><b><a href="http://bits.netbeans.org/dev/javadoc/org-netbeans-api-debugger-jpda/org/netbeans/spi/debugger/jpda/Evaluator.html">Evaluator API</a>.</b> Evaluator service for a language that compiles into bytecode.</li> |
| <li><b>Framework specification of web.xml requirement.</b> Since |
| Java EE 6 does not require web applications to have <tt>web.xml</tt> files, |
| your framework implementations can specify whether |
| a web application created on the framework requires one. |
| <a href="http://bits.netbeans.org/dev/javadoc/org-netbeans-api-web-webmodule/apichanges.html#Adding_requresWebXml">More details here.</a></li> |
| </ul> |
| |
| <h3>Deprecations</h3> |
| <p>The following are deprecated/obsolete from 6.8 onwards:</p> |
| <ul> |
| <li>In the Options API, <tt>AdvancedOption</tt> and |
| <tt>OptionsPanelController.createAdvanced</tt> are deprecated |
| because these do not do anything you |
| cannot do more easily using the annotations described above.</li> |
| <li>In the Utilities API, Nodes API, and Actions API, you are recommended to |
| not use <tt>SystemAction</tt>, <tt>CallableSystemAction</tt>, |
| <tt>NodeAction</tt>, and <tt>CookieAction</tt> anymore. They will |
| be deprecated in the future. Instead, you should use the declarative actions |
| referred to above.</li> |
| </ul> |
| |
| <h3>New Screencasts</h3> |
| <p>The following screencasts are new in the 6.8 release cycle:</p> |
| <ul > |
| <li><a href="http://blip.tv/play/AYGh7k8C">MVC, DCI, and NetBeans Platform</a></li> |
| <li><a href="http://netbeans.dzone.com/videos/screencast-splitting-one">Splitting a One Module Application into a Modular Application</a></li> |
| </ul> |
| |
| <h3>New Articles & Tutorials</h3> |
| <p>The following are published for the first time in the 6.8 release cycle:</p> |
| <ul > |
| <li><a href="http://netbeans.dzone.com/crud-on-netbeans-platform">How to Create a Swing CRUD Application on NetBeans Platform 6.8</a></li> |
| <li><a href="http://java.dzone.com/news/how-to-split-into-modules">How to Split an Application into Modules?</a></li> |
| <li><a href="../tutorials/nbm-propertyeditors-integration.html">Integrated Property Editors in NetBeans</a></li> |
| </ul> |
| <p>Work has started on <a href="http://wiki.netbeans.org/PetriEnglishTranslation">translating a new NetBeans Platform |
| book to English</a>, |
| which will be updated to NetBeans Platform 6.8.</p> |
| |
| <p>Finally, the <a href="https://platform.netbeans.org/screenshots.html">NetBeans Platform Showcase</a> has been updated with many |
| new screenshots of NetBeans Platform applications.</p> |
| |
| </body> |
| |
| </html> |