Over a million developers have joined DZone.

IntelliJ IDEA and Maven: Great Tools for NetBeans RCP Development

DZone 's Guide to

IntelliJ IDEA and Maven: Great Tools for NetBeans RCP Development

· Java Zone ·
Free Resource

With NetBeans IDE 7.0, the NetBeans RCP (framework for creating modular Swing applications) will become far more accessible to non-NetBeans IDE users than ever before. That's because the NetBeans IDE was almost a requirement for getting started with NetBeans RCP development, since that IDE alone provides wizards and templates for registering Java classes in the NetBeans RCP registry. From 7.0, the annotations provided for NetBeans RCP development will be significantly expanded, to include Action annotations and TopComponent annotations. At compile-time, the annotations will result in the registrations being generated automatically. As a result, the wizards for getting started with various NetBeans RCP classes will no longer be as essential as they used to be.

To prove the above statements, I populated my local Maven repository with NetBeans modules from a very recent NetBeans 7.0 development build. Once I had done so, I was able to use the latest annotations, meaning that I didn't need to register my TopComponents manually in the registry and I didn't need to create the .settings file and .wstcref file at all, since those entries are also created (within the layer file) at compile-time, via the TopComponent annotation.

So, once I had the latest NBMs in my local Maven repository, I fired up IntelliJ IDEA and used the NetBeans Platform Maven archetype from IntelliJ IDEA, shown below:

When I had completed the above template, I ended up with the following in IntelliJ IDEA:

Next, I used this template for creating new NetBeans modules in my Maven-based NetBeans Platform application:

Then, I used MigLayout for laying out TopComponents, together with annotations for registering them. A bit of tweaking was needed to expose a package as public (I needed to register these manually in the POM) and also for setting dependencies. Not much tweaking through, since more than ever before, the work you now do is all in the Java classes. In fact, for this scenario, I didn't touch the layer file even once:

I believe NetBeans Platform 7.0 will be a great starting point for IntelliJ IDEA users wanting to create meaningful applications on the Java desktop.


Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}