(Previous content has been archived to NewAndNoteWorthyMilestone1NB65 and NewAndNoteWorthyMilestone2NB65.)
Default layout of windowing system has changed a bit. Tasks window is now visible by default. Debugger windows, Output window, Tasks window and other windows which show up in the same place as Output have changed their position.
For more details see the UI Spec document.
Main menu changes touched Build, Run and Debug menus.
For more details see the UI Spec document.
Main Project concept and its relationship to project-related actions has been modified to suite well both groups of users - those who want to use Main Project concept and those who don't.
For more details see the UI Spec document.
Categories in New Project wizard are now named and ordered according to a new 6.5 UI Spec to better distinguish the technologies (Java, PHP, Ruby, C/C++, ...).
Language specific settings were unified and moved to Editor category
The IDE's bundled Apache Ant has been upgraded to version 1.7.1. (issue #139445)
Nodes now have tooltips compiled from explanatory texts for their badges and also for their VCS statuses. (issue #123469, UI Spec)
Now the NetBeans IDE supports UNC paths like \\computerName\sharedFolder\. It is possible to install the IDE to UNC like folder and also it is possible to create projects and other resources on UNC paths.
A new panel in options dialog which allows to say to NetBeans that files with certain extension should be treated as files with a certain MIME type (see #133773). You can add a new extension to the list of modify existing one. If you want to restore default setting for selected extension, you just click the Default button.
In connection with the above change there was also added a new Open As... action. It is enabled only for files which are not recognized by the IDE. User can choose one from supplied MIME types and from now on all files with this extension are treated as of choosen MIME type.
Certain IDE distributions (e.g. PHP IDE) don't require Java JDK to run on, JRE is enough.
Plugin Manager now checks OpenIDE-Module-Package-Dependencies of all modules which user selects to be installed. If the user's IDE is running on JRE and the unsatified package dependency might indicate that JDK is required, user is warned about it and the plugin installation is not allowed.
Since NetBeans 6.1 it is possible to control whether JAR/Folder added to project classpath is referenced via absolute or relative path. Now it is also possible to define a global IDE named variable pointing to a folder and use this variable as a base for referring to JARs/Folders.
This feature further simplifies project sharing between users. In scenario where a project depends on JARs for which:
The variables are managed via Tools -> Variable menu item:
In above screenshot single variable is defined with these details:
When variable based JAR/Folder is added to project classpath you can see its path starting with variable name (and tooltip showing absolute path):
Variable based JAR/Folder is added to classpath via standard means of "Add Jar/Folder" button in classpath customizer (or "Add JAR/Folder" action on project's Libraries node in project's view). Custom file chooser is shown with one new option "Use Variable Path":
Just browse for your JAR/Folder and if selected file is under a variable the option gets enabled. Alternatively press "..." button and setup a new variable.
If a user opens project with a variable based path and the variable is not defined in user's IDE then standard broken reference warning is shown to advice user to define variable:
The Eclipse project import feature facilitates mixed IDE development teams. It allows you to select Eclipse projects from an Eclipse workspace and generate NetBeans projects for them. The generated NetBeans project keeps a link to the original Eclipse project and will update itself after any relevant change: for example, changing the classpath of the Eclipse project. The update is done automatically when the NetBeans project is opened, or can be explicitly requested via a context menu item "Synch with Eclipse" on the project.
This is early preview of the Eclipse import feature which will be fully implemented in Milestone 2. (It supersedes the limited Eclipse import feature available in former NetBeans releases on the update center.) We would appreciate feedback and real-life Eclipse projects for testing; best is to use Issuezilla. (component ide, subcomponent eclipse project import)
Support for creating applets that can be deployed via Java Web Start was added to NetBeans IDE. Note: the functionality is available in JDK 1.6.0 update 10.
Each application or applet deployed via Java Web Start can specify external resources (usually other JNLP file in internet). Dialog is opened by clicking on 'External Resources' button.
Each applet can have number of properties defined in JNLP file, those properties can be defined in dialog that is opened by clicking 'Applet Parameters'. Also you can set applet dimensions in the dialog.
Quick Search functionality introduced in 6.5 M1 is not only end-user functionality, but also an API which allows modules to register their own providers for QuickSearch. A wizard has been also added in M2 in order to simplify their development. Appropriate layer entries are added, skeleton implementation of SearchProvider can be generated by it.
NetBeans module developers can now expect declarative MIME resolvers to be accessible from unit tests. (issue #138846)
Module developers interested in GUI functional testing can now use the Jemmy and Jellytools libraries in conjunction with the new NbModuleSuite, without needing to set up XTest. details
Slided-in windows can keep their preferred size instead of being stretched to the whole height/width of the IDE window.
(see #135318).
Some window system features can be turned off by branding of core.windows module.
OutlineView is a new replacement for buggy TreeTableView. It supports drag and drop, in-place editing of tree cells, enhanced sorting etc. The data model is fully compatible with TreeTableView.
(see #33281).
API in options.api module has been changed to allow open Options dialog with preselected subcategory (see #109538). In your code you can call OptionsDisplayer.getDefault().open("CategoryID/SubcategoryID"); where CategoryID and SubcategoryID are registration names from layer. For selection a panel under Miscellaneous category use OptionsDisplayer.getDefault().open(OptionsDisplayer.ADVANCED+"/SubcategoryID");.
It is possible to drag and drop any text to the Palette window to create a new code snippet. It works for HTML editor palette only at the moment, more document types will follow soon.
The NetBeans IDE Early Access for PHP was released in April at the same time as NetBeans 6.1. Milestone 1 of NetBeans 6.5 now contains all features introduced in this release.
Next, in NB 6.5 M1, PHP features are a part of the "all-in-one" distribution of NetBeans, so they can be used together with all the other NetBeans features. Of course, there is still the slim PHP edition of NetBeans, targeted for PHP development specifically.
See below for more features added in NetBeans 6.5 Milestone 1, that were not present in Early Access. Also, to keep up with the new features added to NetBeans PHP support, make sure to check and bookmark the NetBeans PHP Team Blog.
The Code Completion functionality evolved a lot since the Early Access Release, mostly due to intensive bug fixing. The new features include support for PHPDoc tags and code completion for elements defined outside of the edited file and the files it explicitly includes. Such elements show up at the end of the list and if chosen the "require" directive is added automatically.
Generate code to connect to a MySQL database and to display the data in a database table. These snippets are available under the Generate Code action [Alt+Insert], just like in the Java editor.
Available also for PHP development. Right click the item and select "Find Usages" or hit Alt-F7.
Completion shows documentation for css properties. Code completion for css property values has been improved.
Update: The JavaScript Library Manager described below, originally targeted for Milestone 1, has been deferred until Milestone 2 / Beta.
Update: The Bundled JavaScript Libraries described below, originally targeted for Milestone 1, has been deferred until Milestone 2 / Beta.
Compilation errors inside a method don't stop you from running your program; if you debug, the debugger will halt if program execution hits that point.
The feature is available for web, EJB and EAR applications.
Deploy on Save is currently supported for Tomcat, GlassFish V2 and GlassFish V3 (directory based deployment is prerequisite).
The output pane of the test results window now displays only what the tests really printed out–no extra newlines. This improvement may not work when debugging.
More results are displayed if the Ant <junit> task used for execution of tests does not produce any XML report file. In previous releases, no information about passed tests was displayed in such a case. Now, at least basic information (name, passed/failed) about each test is displayed. This improvement may not work when debugging.
For a complete list of fixes, click here.
For the first time NetBeans directly supports Groovy, dynamic language for the Java Platform and Grails, web application framework that leverages the Groovy language. You can mix Groovy with Java in an easiest possible way to take advantage of Groovy dynamic nature in your Java projects, or develop 100% pure Groovy applications. For the web tier, IDE fully supports the Grails framework, including its generators and GSP.
You can use multiple Grails commands integrated into NetBeans and of course you can run your Grails application directly from NetBeans, including controlling the status of you application from Services window.
Code completion has been added to the SQL editor, making it easier to insert schema, table and column names.
With this you can sort the results by double-clicking on a row header, modify a row, insert and delete rows, there is full pagination support, and you can optionally create a new tab for each statement that returns results, very nifty for comparing results back and forth.
If the user wishes to add an item not in the source classpath, he can press CTRL+SPACE again. Also, if the typed prefix does not match any local item, the completion will automatically switch to show all items instead of just local items.
.
.
| Example | Code Completion UI |
|---|---|
| Managed Beans | ![]() JsfEditorSupportCodeComplete2.gif |
| Resource Bundles | ![]() JsfEditorSupportCodeComplete4.gif |
| JSF Configuration Files Example | File opened |
|---|
| <managed-bean-class>foo.ManagedBean</managed-bean-class> | the Java file ManagedBean.java under package foo |
| <to-view-id>/Page2.jsp</to-view-id> | the JSF page file Page2.jsp under the context root |
| JSF JSP Pages Example | File opened |
|---|---|
| <h3><h:outputText value="#{ManagedBean.min}"/></h3> | the JSF configuration file on position where the managed bean been defined |
| <h3><h:outputText value="#{ManagedBean.min}"/></h3> | the appropriate Java file on position where the getter for the property been defined |
| Example | Refactoring UI |
|---|---|
| Managed Beans | ![]() |
| Folder / Package | ![]() |
| Example | Usages UI |
|---|---|
| Managed Beans | ![]() |
In NetBean 6.5, the Entity Classes from Database wizard has one additional panel to allow the user to configure the following mapping options:
The panel is at the last step of the wizard. It is optional.
New SVG UI Component snippets are available in the SVG Composer. It's now possible to create an SVG-based UI using the SVGComposer.
A New SVG Component is available in the Visual Mobile Designer. Now it is possible to create an SVG UI using the SVGComposer then drag and drop an existing SVG file on to an SVGForm component. The necessary code and SVG Components from SVG file are then added to the SVGForm component.
New property editor that is part of the SVGForm allows you to look up the contents of an SVG UI file. It shows an SVG UI preview as well as components and its assigned ID.
Mobile Screen Designer shows a preview of the SVG UI and provides an easy way to switch back to the SVG Composer by choosing the "Edit SVG" action from the pop up menu.
Part of the source code generated is based on the SVGForm component and SVG UI that is created in the SVG Composer
Improved Data Binding custom property editor.
The ProGuard library was upgraded to version 4.2 and JMUnit to version 1.1.0.
Supported components in Milstone 1:
Databinding support in the custom property editors:
Generated code for empty DataSet:
New Project Custom Component wizard.
Generated project and classes with one component descriptor and one producer.
Add Mobile Custom Component wizard.
Full description of this feature i available here: Custom Components API Project Support - DRAFT
Motivation is to extend group of existing SVG components to provide better support for creation of compelling UI on mobile platforms using SVG technology.
New components available in the SVG library:
SVG Components in action:
From the technical perspective, the Debug view is organized as (in general) a list of sessions, having each session as a list of threads, each suspended thread than expandable to its call stack and more. Debug view is customizable via context options only showing typically needed info by default. With the 'Suspend Table' switched on, any thread can be resumed/suspended by one click on the dedicated button.
If there is the debugger counter displayed in the editor and another thread encounters a breakpoint, the current thread will not be automatically switched. Instead, a non-modal panel is displayed in the bottom of Debugging view informing that there are new breakpoint hits waiting; there is also a drop-down button switching the debugger to the next (or selected) breakpoint hit. Having this non-modal notification, users are allowed to finish their debugging of current thread (e.g. expression evaluation) and switch to next breakpoint hit when it fits to the workflow.
![]() |
Current Model Summary (NB 6.1 and older):
New Model Summary:
Usually the users of GUI builder don't need to care about the generated code, but there are some situations where it is desirable to have the generated code as simple as possible. Beginners sometimes look into the generated code to learn how some features are implemented. Experts on the other hand should be able to find places for their tweaks quickly.
While we always tried to generate the code that resembles the one written by humans there was always one area where we failed. We always generated code with fully qualified names e.g. javax.swing.JButton instead of JButton.
Since NetBeans 6.5 Milestone 2 the GUI builder has an option to generate simple class names. In fact, there are two options. You can find the first one (called Generate Full Classnames) in the Properties of the root node of Inspector window. It determines whether simple or fully-qualified names should be generated for the opened form.
The second option (e.g. the global one) is in Tools > Options > Miscellaneous > GUI Builder. It determines the default value of the per-form option. The global option is used when a new form is created only. Changes of this option doesn't have any effect on the forms that already exist.
Note that the generation of simple names can take few seconds for bigger forms. That's why it is switched off by default. If you feel slowed down by the slow generation of simple names, you can always switch it off while editing the form and then switch it on when you are finished with your changes.
When you select a ButtonGroup or some component in a ButtonGroup then the GUI builder shows you which components belong into this group.
If you use JDK 6 Update 10 then you can preview your form in the new Nimbus look and feel. We have made this preview more reliable and accurate (within the limits of javax.swing.UIManager design). Besides the design preview you can also set the Nimbus look and feel for runtime - this is easily possible for Desktop Java Application projects in the Project Properties window (go to the Desktop App panel).
New TreeModel property editor allows you to prototype your JTree easily.
We rewrote property editors for ListModel and ComboBoxModel. It is much easier to use them by now.
A new wizard allows for the creation of RESTful, JSR311-based services directly from database tables. This facility is in addition to the wizard that creates services from JPA entities.
Web Services nodes in the Services tab of Netbeans 6.5 support Drag-n-drop to Php files as shown below.
Direct call graph:
Reverse call graph:
C/C++ editors highlights basic errors. Semantic highlighting for typedefs, class fields and function names was added.
Improved Modularity and Ease of Customization. General JPA controller logic has been moved into separate classes that can be generated from a new wizard, namely, File > New File > Persistence > JPA Controller Classes from Entity Classes, enabling non-JSF applications to use such logic. Likewise, other general purpose logic has been moved from the JSF Controller classes into utility classes. Also, in order to support iterative development with a changing database schema, per-property code has been removed from the generated JSF controller classes by means of a new ELResolver. Consequently, if your add or remove columns from your database schema after customizing the JSF controller classes, you do not have to regenerate the JSF controller classes and migrate your customizations.
Excluded and included source files can be configured for Web Application, EJB Module and Enterprise Application Client projects:
The NetBeans UML Plugin underwent a complete rewrite of the diagram drawing area for the NetBeans 6.5 release with approximately 50% of the code being rewritten. UML now uses the NetBeans Visual Library making it completely open source. The main modeling palette was simplified and context palettes were added, enabling easy and rapid creation of modeling nodes and relationships. Please see UML Current Projects for additional information.
Remote profiling packs are now generated from the Attach Wizard and don't need to be downloaded separately.
Table view has been added to threads monitor.
| 2710.png | ![]() |
38646 bytes |
| 64160.png | ![]() |
24880 bytes |
| ClassesFlat.png | ![]() |
21103 bytes |
| CopyStack.png | ![]() |
18196 bytes |
| DrillDown.png | ![]() |
35485 bytes |
| OpenWith.png | ![]() |
49545 bytes |
| addDataSourceReference.png | ![]() |
15977 bytes |
| ant-progress.png | ![]() |
17090 bytes |
| attach.png | ![]() |
31912 bytes |
| chooseDatabase.png | ![]() |
13704 bytes |
| heapwalker.png | ![]() |
30853 bytes |
| inline-diff-m4.png | ![]() |
26040 bytes |
| j2seproject-run-configurations.png | ![]() |
68012 bytes |
| meta-inf-services.png | ![]() |
38231 bytes |
| newMDB.png | ![]() |
38006 bytes |
| profiler-newPP.png | ![]() |
42404 bytes |
| profiler-newSPT.png | ![]() |
29058 bytes |
| screenshot.png | ![]() |
7930 bytes |
| sendJMSMessage.png | ![]() |
20210 bytes |
| vista_ide_1.png | ![]() |
102874 bytes |