Overview of JDK 7 Support in NetBeans IDE

The NetBeans IDE introduced support for new JDK 7 language features, such as the diamond operator, strings in switch, multicatch, etc. When you use these constructs in your code, the IDE recognizes them, offers correct classes in code completion, correctly highlights errors, and lets you automatically fix syntax. Thus, the NetBeans IDE helps you write code that is compatible with the JDK 7 language specification.

In this tutorial, you learn how to enable JDK 7 support in the IDE and see how the IDE handles new language constructs.

Registering Java 7 in the NetBeans IDE

To enable JDK 7 support in the NetBeans IDE:

Download and install JDK 7 on your system.

In the IDE, choose Tools > Java Platforms from the main menu.

Click Add Platform and specify the directory that contains the JDK (e.g. on Windows, this is the JDK installation directory, default is C:\Program Files\Java\jdk1.7.0).
The directory that contains the Java platform is marked with the icon.

In the Platform Name step, verify that the default locations of the Platform Sources zip file and API documentation are valid.

Using New JDK 7 Language Constructs: Switch Statement

JDK 7 brings a number of new features and enhancements in different areas, including internationalization, I/O and networking, security, etc. The best way to illustrate the JDK 7 support by the IDE's Java Editor is to demonstrate a few language changes introduced by Project Coin.

One of these changes is a "String in a switch". In the previous versions of Java, the argument of switch had to be only of the following primitive data types: byte, short, char, int, or enum. Starting from JDK 7, you can use arguments of type String in the expression of a switch statement.

Open SwitchTest.java and add the following code. This small sample displays RGB codes for several colors.
With JDK 7, the color variable can be a String.

If the pasted code is formatted incorrectly in the editor, press Alt-Shift-F
to reformat.

In the Projects window, right-click the project's node and choose Run. You will see the output of the application, which is the RGB code for the red color.
You can see that the build is successful and
the application works when the target platform and source format is JDK 7.

Let's rollback to using JDK 6 and test how the application is complied with the JDK 6 compiler.
In the Files window, right-click the project's node and choose Properties. On the Libraries tab, set the Java Platform to JDK 1.6 and on the Sources tab, set the Source Format option to JDK 6.
You can immediately see that the JDK6 parser does not recognize the syntax. The compilation fails because of the incompatible variable type.

Now, let's rewrite the code using the if-then-else statement instead of switch as shown in the picture.
With JDK 7 being the target platform, the IDE recognizes such cases and offers you to convert them to switch.
Click the hint and the if-then-else construct will be automatically converted to exactly the same switch that we had before.

JDK 7 Support: More Examples

To demonstrate how the IDE's Java Editor recognizes and automatically fixes code to be compliant with the JDK 7 language spec, let's use a dummy code snippet, which is meaningless but contains all the major language improvements.

When walking through this dummy code snippet and applying editor hints, you will see the following examples of how to:

Take advantage of automatic type inference, when the Java compiler is able to infer the type of a generic instance without the need to explicitly specify it. The so-called diamond operator is used to flag the type inference case.

Use improved exception handling or multi-catch, when one catch block can be used for several types of exceptions.

Use the new syntax of resource closure statements introduced by the Automatic Resource Management feature.

Replace the previous application code in the same SwitchTest.java file with the following