New and Noteworthy in Milestone 10
General
- New default color scheme and some additional schemes. Please let us know which what how you like it here: 74730
- New shortcuts. Feedback should go to: 91277
- Syntax coloring for .sh, .bat, .diff and .mf files added.
App Server Interaction
There is a screencast of many of these features, in action.
Java
- Improved performance
- New Hints
- New Refactorings
- Go To File
- JavaDoc tooltips in Navigator window
Ruby
- Debugging (breakpoints, stepping etc. in RHTML files)
- Code completion
- Go to declaration
- Find Usages
- Rename
- Improved code completion - attributes, Rails migrations, models and views now include all the expected methods, etc.
- Enhanced RDoc rendering; embedded Ruby and RHTML code fragments are now syntax highlighted
- Debugger enhancements (global vars, watch view, locals view)
- Encoding support (projects now have an encoding property)
- Basic RSpec and ZenTest support (More Info), basic RJS support
- JRuby 1.0 is bundled
Redesigned Find / Replace dialog(s)
GUI Builder
- Limited integration with refactoring
Debugger
- Method breakpoints and field breakpoints are annotated in editor gutter via triangles. They can be submitted in a similar manner to line breakpoints, on method headers and field declarations.

Here you can see a method breakpoint on
getTypes() method and a field breakpoint on
classes field.
- Condition for number of iterations added into breakpoint dialogs.

There are three possibilities: break when the hit count
equals to,
is greater than or
is a multiple of the given count number.
- Attach Debugger menu item is added as a drop down menu from Debug Main Project button
- Non-modal solution of an informational dialog, which is displayed when a breakpoint is hit in another thread during step operation.
Profiler
- Timed & Triggered HeapDump / Take Snapshot Profiling Points, Load Generator Profiling Point
- Alt-F8 shortcut for new Profiling Points
- GC activity visualization
- Profiling overhead visualization in Select Task Panel
- Navigation in Heapwalker (Back & Forward buttons)
- Attach Profiler action added as a drop down menu item to Profile Main Project action in IDE toolbar
VCS
- Versioning Output is a new window component showing output of versioning commands in a structured way. Currently only the CVS Update laverages this component. After an Update operation finishes the Versioning Output window lists all files that have been updated, removed or conflicted during the update. You can also open listed files in editor or resolve conflicts from there.
Web
- Struts 1.3.x files are recognized by the IDE
- Java refactoring is propagated into the faces-config.xml files.
- JSF 1.1 library was replaced by JSF 1.2 (license issue, JSF 1.1 was under Sun Binary Code License, JSF 1.2 is under CDDL) 95947
Visual Web
- Migrate Visual Web Java Refactoring to Retouche 90533
- Implement Package and folder level Rename and Move refactoring. 104532
- Visual Query Editor is now accessible for DB Explorer. 90447
- Visual Consumption of EJB 2.1 in Visual web apps 90455 (See limitation below.)
- Completion of Web Services consumption - test node action, make it confirm to the web service functionality in NetBeans
- User dir migration from Creator 2, 2u1, NB 5.5 or 5.5.1 to NB 6.0 99740
- Resolving data source references 94804
- DataSourceNaming 88871
- Completion of Page flow editor functionalities - dealing with mutiple faces-config files. 97896
- Performance improvements
- Open source rowset implementation used by Visual Web
- More Ajax enabled components from Project Woodstock
- RadioButton Group, Checkbox Group, Listbox, TextArea, Anchor, Hyperlink, ImageHyperlink, Calendar. Project woodstock Road map
- Visual Consumption of EJB 2.1 in Visual web apps 90455 This feature allows the web apps to consume Session EJBs hosted on app servers such as Sun, WebLogic, and WebSphere with a limitation. Web app itself needs to be test deployed on a Sun app server for the automatic configuration to work. If you want to host the web app in another app server, you must manually configure the EJB reference to JNDI binding which is container specific. When deploying your web app on a production server using the export war feature, this manual configuration step is part of the Java EE deployment process which is container specific.
- Web Service consumption in Visual web applications using Tomcat 6.0. 108524. The user must manually add the JAX-WS 2.1 library to the project after adding a web service client from the Runtime tab. On JDK 6, the user must also copy the jars in $nbInstallDir/java1/modules/ext/jaxws21/api to $tomcat6dir/endorsed.
- Resource conflict on Glassfish when page uses 2 datasources from same database. 107697. This causes 2 connection pools with the same name to be defined in the sun-resources.xml. As a result deployment fails. Workaround is to change the pool name at the following 2 locations in the sun-resources.xml file:
- Second connection pool entry.
- Second jdbc resource definition.
- Cannot Deploy application after a new page is added 107526. Workaround is to try deployment again and it will work.
- Null Pointer Exception on creating J2EE 1.4 project with 'Do not Append Library' option selected On Tomcat 6 107275. Workaround is to create such a project with JSF 1.1 library being defined instead of using the 'Do not Append Library' option.
Web Services
- Expose partner services to RESTful web service developers. These partner services when DnD create URIs for clients to consume these services. There are 5 StrikeIron services added in the palette by default. The yahooNewssearch is also a new REST based service we expose via the palette.
- REST Test client now accepts query params to invoke URIs.
- RESTful services can be created without tie into any entity classes so someone can have a skeleton service created applying some patterns which they can add business logic into.
For details, see:
SimpleWsldRestServiceDemo
- JAXB wizard support for web, ejb and java projects.
- Web Services creation visual editor allows to rename operations.
- JAXRPC web service and clients are now working as they were for Nb 5.5
- Editor hints for web service annotations are enabled.
- Visual designer has new look and feel.
- Visual designer allows selection of operation and Remove opearation button listening to the selection.
- WSIT related features are shown in Policy Configuration and they operate as checkboxes.
XML
- Added XML Schema move Refactoring.
- Added XML Schema refactoring preview for Rename/Move/Delete.
- Improved code completion on XML Schema documents.
- Lot of other bug fixes.
WSDL
- The ExtensibilityElementTemplateProvider SPI is now public.97238
- Added GoTo WSDL or Design view from source view 97533
- Property sheet is automatically updated when moving through source in the source view.
- Improved the performance of the tree view. Fixed some memory leaks.
- Keyboard shortcuts to validation work 84846
- Other bug fixes.
Positional ordering attributes in XML layers
Rather than relative ordering attributes, NetBeans 6 uses numeric sorting.
This affects NetBeans module development.
For details, see:
FolderOrdering103187
Improvements in JMS area
- New Message-Driven Bean dialog
Output window
- Input for running program can be entered directly into the output window. No more separate text field for input.
Self-signing for Java Web Start
- Java Web Start support in IDE allows to sign jar files of java project by self-signed certificate. Key-pair is generated during project build.
- If you already have own keystore, you might find useful the faq about using own keystore.
Improved Directory Chooser
- Directory chooser for opening projects now uses tree for directory structure, supports double click to project open, fast keyboard path completion and has improved look especially on GTK.
- Chooser on Windows
Plugin Manager understands plugins composed from several single modules
- A group of modules can be declared as a once plugin (aka feature) on Update Center. Plugin Manager handles it as a standalone plugin.
- It allows to distribute IDE components like Ruby, SOA etc. as plugin in Plugin Manager. An user can complete her/his IDE installation by Plugin Manager.
- Plugin Manager handles also standalone NetBeans modules detached from standard IDE components.
- Moreover if someone would like to manage NetBeans modules regardless plugins she can choose NetBeans modules view in Plugin Manager's Settings tab.
Editor
- Editor will switch to the most recently used document tab when a document is closed
UML
- Source Code Synchronization
In addition to being able to save generated source code into new source files, you now also have the ability to merge generated source code into existing source files. There are two types of source code that is possible in a source file. The first type is source that is generated via the UML code generation. The second is source code that is written by the user. There will be times when the user may want to override the code that is generated using the templates. To give the user the ability to override the code that is generated, annotations are used to direct code generation what areas are controlled by code generation.
The above example demonstrates a Java method that is generated by the code generation mechanism. The source code synchronization process will replace the entire method 'foo', when synchronizing the source code. To override the implementation of 'foo', the UML Marker must be removed. The source code synchronization process will no longer replace the 'foo' method during code generation.
The UML Marker has the following format:
// <editor-fold defaultstate="collapsed" desc=" UML Marker ">
// #[regen=yes,id=DCE.4C30BCAA-9D8D-2473-35A2-FD0A9A5724E2]
// </editor-fold>
Source code entered by the user can also be included in the synchronization mechanism by inserting an abbreviated form of the marker:
// #[regen=yes]
public int i;
followed by reverse engineering of the source file. The attribute "i" will remain synchronized between model and source during reverse engineering and code generation actions.
- Code generation now uses Freemarker templates to generate code. Users are now able to edit the templates.
Access the Code Generation templates area via Tools > Templates and expand the UML folder in the NetBeans Template Manager dialog.
- Code generation is now extensible. The new Domain Templates panel has been added to the UML Options window. The template panel allows users to manage the templates that can be used during UML code generation. Each template has a set of properties that can be assigned. The properties determine when a template can be executed.
- A Domain Templates category has been added to the UML project customizer. The Domain Templates category is used to specify the templates that are to be executed during code generation. Each UML project can use a different set of templates.
- Preferences have been moved from the Advanced Options dialog to the standard Options dialog, accessible via Tools > Options.
- Issue 108119 Changes to a UML project is lost when the UML module is deactivated or uninstalled.
- Workaround: Save the UML project before deactivating or uninstalling the UML plugin. This action also saves all modified diagrams, if any.
SOA
- Predicates support in XSLT
- Improved transformmap schema in XSLT
- Copy/Paste in BPEL diagram
- Support BC-to-BC connection in CASA Editor 104539
- Add JavaEE project support in CASA Editor 104542
- Support typed environment variables in JBI Manager 101680
- Support cross-project reference in Composite Applicaiton 101683
- Move DCOM, FTP, HL7, IMS, JDBC, SMTPMAIL, EMAIL, MQ, MSMQ, SAP, SMTP and SNMP out from NetBeans SOA Pack to OpenESB. You can get those bindings if you use the NetBeans from the OpenESB installer, which can be downloaded here.
BluePrints module moved
The Java BluePrints Solutions Catalog (available from the Help menu) and the corresponding sample projects were moved from the standard NetBeans distribution to the Update Center.
Abilities Navigator actions
New behaviour and actions added to Abilities Navigaotr Panel
1) Multiple configurations can be selected. In such case navigator will show intersection of abilities assigned to selected configurations. Abilities with different values will be shown with "Multiple different values" as a value. Selected configurations must be part of the same project
2) Right click on abilities navigator shows a popup with following actions
a) Add - adds an ability to all of the selected configurations
b) Remove - remove set of selected abilities from all of the selected configurations
c) Copy - copy set of selected abilities to internal buffer
d) Paste - paste abilities from buffer to a set of selected configurations
Project Configurations nodes actions
New actions added to configuration nodes with obvious meanings
running on single selected configuration
1) Run configuration
2) Debug configuration
running on multiple selected configurations even across different projects
3) Build selected configurations
4) Clean&Build selected configurations
5) Clean selected configurations
6) Deploy selected configurations
NSIcom support
Mobility Pack now supports NSIcom CreME CDC platform. You can download emulator from
NSIcom web page - Developer Support package.
Use Java Platforms Tool to add CreMe to the list of available CDC platforms
MIDP-1.0 compliancy analyzer in Visual Mobile Designer
The Visual Mobile Designer has a new analyzer. It inspect a design and reports all component, properties and values which are not available in MIDP-1.0.
Deployment on Nokia devices
Requirements
- Compatible Nokia phone (I've tested the functionality on 6230)
Installation
Install Nokia PC Suite and have your phone connected. Follow the instructions to setup the connection - use cable, infrared or bluetooth.
Using the deployment
Start NetBeans and create a new or open an existing project.
Create predefined deployment profile using Tools | Mobile Deployment.
Open project properties. Choose deployment profile. You can also override the deployment settings.
Close project properties. Right click on the project and choose Deploy.
The application gets deployed
On the phone, open the application browser and run the application

Windows Mobile deployment
Windows Mobile Deployment
available since 6.0M10
Installation
Test version available also for NetBeans 5.5.1
Windows Mobile Device
You need Windows Mobile 5 device with Sun CLDC/MIDP VM installed. The device has to be connected to the computer using cable or wireless and ActiveSync has to be running.
How to use it
You have to create a mobile project first. I recommend to make it working in the Wireless Toolkit before deploying on the device. Then open project properties go to the
Deploying tab and choose
Windows Mobile Deployment as a deployment method:
You can leave default value for Application Location - it is a folder on the device where jar and jad files will be copied into, or you can specify another one.
Once you have set up the deployment method, right click on the project and choose deploy:
The application gets uploaded and installed on the device. Follow any instruction that appear on the device screen:
Run the application using Start | Programs | Sun Java | <application>
SVG Composer
Major upgrade of SVG Viewer supporting basic editing of SVG content. The SVG Composer is not intended to be a replacement
for SVG authoring tools, it is rather targeted on a developer who needs to adjust and modify existing SVG graphics and make
it work with his/hers code.
Extended viewer features
- Zoom control(zoom in/zoom out/fit on screen/exact zoom ratio)
- Extended navigator - it is possible to display only the tree nodes that meet some criterion. The parent
nodes of those nodes are displayed as well to keep hierarchy unchanged, but they shown in gray color.
Currently the two following filters are available:
- Show only the elements with defined id
- Show only animation elements
- Animation support - it is possible to start specific animation; useful for animation with indefinite begin
time, typically triggered from script
- ViewBox support - it is possible to see area outside the SVG viewbox. There are two display modes related
to this.
- Show view box only - only the area defined as 'viewBox'
trait on the svg element is displayed - the rest is clipped out
- Show whole image - the whole image is displayed and the
viewBox boundary is displayed as thing dark gray rectangle
Editing features
- Content locking - to prevent unwanted changes user can lock the content. Initially the content is locked and user can unlock it
using the toolbar button. The unlocked state is indicated by pressed toggle button and pencil icon displayed in bottom left
corner of the canvas. Note: No animations are available when content is unlocked.
- XML text editor, which can be used for direct editing of SVG source. Changes done in the editor are reflected in the visual
view when it is available. The visual view and the editor are not meant to be displayed at one time.
- Quick link from navigator to editor - double click on on a tree node in navigator takes user into editor with caret placed at the
beginning of the element that node represents
- Quick link from visual view to editor - double click on an element takes user into editor with caret placed at the beginning
of the XML tag.
- SVG Shapes Palette - a simple palette window associated with the text editor can be used to drag various svg elements into
the text editor
- Basic shape manipulation in visual view:
- Select - the polyline outline is drawn around the selected element
- Move/translate - the selected element can be moved/translated to some other position. When mouse is hovering over the
selected element, the mouse cursor changes and element can be moved to some other location by dragging.
- Rotate - the selected element can be rotated. When mouse cursor is near the "rotate handle" (represented by a small
red circle initially at the top-right corner of an element outline) of a selected element, the mouse cursor changes
and element can be rotated around its pivot by dragging.
- Scale - the selected element can be resized/scaled. When mouse cursor is near the "resize/scale handle" (represented
by a small red box - all the outline corners other than rotate handle) of a selected element, the mouse cursor changes
and element can be resized/scaled by dragging.
- Insert graphics - user can insert SVG image located on the filesystem into existing content. The conflicting identifiers are
reassigned so that one image can be inserted several times. The inserted image is wrapped in <g> envelope and user can manipulate
(e.g. move, rotate, scale, delete) with image as if it was a single SVG element.
- Delete - remove selected element or inserted graphics
- Layer control - it is possible the change drawing order of individual elements. The following actions are available
- Move to top
- Move to bottom
- Move backward
- Move forward
Note: The element nesting level is not affected by any of the above operations, so it is possible to change drawing order only of the element siblings. For example the "Move to top" may not be always sufficient to move selected element on the top of ALL elements in the SVG image.
Export features
- Ability to save images to JPEG and PNG
- Ability to set compression level when saving to JPEG
- Ability to specify progressive mode when saving
SVG Components
- New class SVGPlayer has been introduced
- SVGPlayer contains many utility methods for manipulating underlying DOM tree (e.g. startAnimation, rotate, move, scale, ...)
- all DOM manipulation methods have also thread safe variant (i.e. the manipulation is always done in the document udpate thread)
- SVGAnimatorWrapper has been deprecated - please use SVGPlayer instead of SVGAnimatorWrapper
Dropped Features for NetBeans 6
- JSF Portlets support
- Ability to Import HTML Pages into Visual JSF framework
- Project-specific libraries
Back to NewAndNoteWorthy