Wednesday Sep 11, 2013

New Article: "Use NetBeans Platform, Don't Reinvent the Wheel"

A new article by Djamel Torche is a great introduction to the key features of the NetBeans Platform:

"After trying and using the NetBeans Platform, I'm impressed", writes Djamel. "Really impressed by what it provides as functionalities, component/code re-usability, and best practices."

He then summarizes the key functionality and components available out of the box: central service management, window system, extensibility, update mechanism, file system, visual library, palette, and more.

Worth reading this article to get a quick overview of why using the NetBeans Platform makes sense.

Tuesday Sep 10, 2013

New Article: "Social Translation of NetBeans Platform Applications"

There's quite a lot of information out there about internationalizing NetBeans Platform applications, but an interesting new angle is presented by Enrico from the studioSL project at Streamsim Technologies: "Social Translation of a NetBeans Platform Application":

Partway down the article a reference is found to how the Gephi project manages social translations:

That's a cool link to read. Thanks to the experiences at Streamsim and Gephi, it seems Transifex and Pootle are useful solutions to explore when considering social translation of an application and something I'll be doing soon.

Monday Sep 09, 2013

New Article: "Programming NetBeans Platform with IntelliJ IDEA"

The NetBeans Platform allows rapid construction of an application that has some advanced capabilities, including templates, undo/redo, auto update, and more. It is an alternative to Eclipse Platform for those that wish to use standard Java Swing user interface instead of the Eclipse SWT user interface. The NetBeans Platform grew organically from the lessons learned about application architecture learned by the NetBeans IDE development team. Some of those lessons included the need to isolate the various parts of the application into "Modules" and the need to organize user interface items of interest into a hierarchy of "Nodes".

The NetBeans Platform enjoys use in many Java Swing-based Java UI applications. Some developers have acquired proficiency with the IntelliJ IDE and may wish to maintain or develop an application based on the NetBeans Platform without having to use the NetBeans IDE. This brand new article, which includes the texts above, shows the necessary steps to allow the IntelliJ developer to edit, compile, and debug a NetBeans Platform application from within IntelliJ IDE:

Great article, it's a step by step guide to setting up the famous NetBeans Platform Quick Start in IntelliJ, including annotation processing and debugging.

Saturday Sep 07, 2013

Many New Features for NetBeans Projects in NetBeans IDE 7.4

While trying out the Eclipse formatter plugin in a build of NetBeans IDE 7.4, where it works fine as well, I saw several other new tabs in the Project Properties dialog.

Compare the screenshots below, the first is the Project Properties dialog for Maven Java EE projects in NetBeans IDE 7.4, while the second is for the current release, NetBeans IDE 7.3.1:

In both cases, the Eclipse formatter plugin is installed, but all the rest of the categories above are available by default, for Java EE Maven projects, as well as for several other types of projects in NetBeans IDE 7.4. That means new support for license headers, JavaScript files, CSS processors, as well as project-level Java hints.

More new features in NetBeans IDE 7.4 below:

Friday Sep 06, 2013

Eclipse Formatter for NetBeans IDE (Part 2)

Judging by the many comments received, after I announced the work being done on the Eclipse Formatter for NetBeans IDE, in my blog and via e-mail, as well as via Twitter, there's really quite a lot of interest in this plugin. NetBeans users working in scenarios where some of their colleagues use Eclipse will find this plugin particularly useful since now organization-wide formatting rules can be shared for the first time ever.

While vacationing in France (near Joncy, which is a tiny place more or less near Buxy, which is itself a tiny place too, the past week, as well as the coming week), I've managed to make a bit of progress. Based on the comments I've received so far, users want this combination of support for Eclipse formatting in NetBeans IDE:

  • Global Eclipse Formatter. In the Options window, the user should be able to define (i.e., by selecting on disk) an Eclipse formatter XML file which, when formatting is done (via Source | Format and the keybinding Alt-Shift-F, as well as via related actions, such as Refactor | Inspect & Transform, and on saving), the Eclipse formatter should be used instead of the NetBeans formatter.

  • Project-Level Eclipse Formatter. In the Project Properties dialog of each project, the user should be able to define an Eclipse formatter to be used for the project, i.e., overriding the global Eclipse formatter.

  • NetBeans Formatter. The user should be able to (1) globally, i.e., via the Options winow, switch off the global Eclipse formatter, so that the NetBeans formatter is used instead and (2) for each project, the user should be able to switch off either the global or the project-level Eclipse formatter, so that the NetBeans formatter is used when formatting is done for a particular project.

In short, the user should be able to switch on/off and override the Eclipse formatter, globally and on project-level.

These, as I understand them, are the requirements. And, once configured, the formatter (whatever it happens to be for the current context) should behave absolutely seamlessly in exactly the same way, without complicated manoeuvres and additional steps.

Global Support

So, using these requirements, here's the Options window showing how/where to define the global Eclipse formatter:

Note that one can disable the global Eclipse formatter, via "Define global Eclipse formatter". Once that checkbox is unchecked, the NetBeans formatter is used globally, instead of the Eclipse formatter defined above. However, even though it is disabled, the global Eclipse formatter is still available, it simply needs to be reenabled to become active again.

There's also the "Show Debug Information" checkbox which, when checked, shows a balloon message (and note that all balloon messages are gathered into the new Notifications window in NetBeans IDE 7.4) whenever a formatting action is performed, showing which formatter was used to do the formatting. Handy to debug things when you're not getting the formatting results you'd like, to see which of your various formatters has been most recently used.

Finally, note that the text area above, as well as in the screenshot below, is not editable. It only serves to show the content of the selected Eclipse formatter XML file.

Project-Level Support

For each project, the Project Properties dialog lets you specify (1) whether a different Eclipse formatter should be used for this particular project or (2) whether for this particular project the NetBeans formatter should be used instead of the global Eclipse formatter:

Note that the two checkboxes in the screenshot above cannot be checked at the same time. I.e., if one is checked when you check the other one, the first is automatically unchecked. Makes sense because either you're overriding the global Eclipse formatter with your local one or you're wanting to use the NetBeans formatter, not both at the same time.


All of the above actually works right now. Just my bandwidth is too low (remember, I'm in Joncy, somewhere in the middle of France, with cows, wine, and medieval churches, i.e., bandwith is not a primary concern in these parts of the world) to upload it to the Plugin Portal. Hence, you're welcome to try the Eclipse formatter in NetBeans IDE, but note that none of the screenshots above are reflected in the plugin you'll find here, currently:

The above link points, at the time of writing, to the 1.2 version of the plugin, which is used exactly as defined in the original blog entry about this plugin.

Nonetheless, at random times of the day I can get on-line, so looking forward to any comments anyone might have on my progress.

Update 31 October 2013: See part 3 here.

Sunday Sep 01, 2013

Liquiface: A Simplified Interface for Liquibase

"You never develop code without version control, why do you develop your database without it?" That's a very clear statement about the purpose of Liquibase. Liquibase is a free and open source database change tracking tool built on the premise that database changes should be managed in source control, along with the rest of your application.

I'm aware of Liquibase because of Liquiface. The purpose of Liquiface is also very clear: "We’ve been using Liquibase at our company for a while but until now changelog files were edited manually. It would be good to support the maintenance of changelog files by a graphical interface. And if we’re already using NetBeans, it is convenient to have this graphical interface accessed from within NetBeans." (Read this and more here.)

Definitely worth taking a look at this cool project!

Go straight to the NetBeans Plugin Portal to see what the Liquiface team has achieved:

Also read how the team developed the plugin:


Geertjan Wielenga (@geertjanw) is a Principal Product Manager in the Oracle Developer Tools group living & working in Amsterdam. He is a Java technology enthusiast, evangelist, trainer, speaker, and writer. He blogs here daily.

The focus of this blog is mostly on NetBeans (a development tool primarily for Java programmers), with an occasional reference to NetBeans, and sometimes diverging to topics relating to NetBeans. And then there are days when NetBeans is mentioned, just for a change.


« September 2013 »