Over a million developers have joined DZone.

Lessons From a NetBeans Platform Master

DZone's Guide to

Lessons From a NetBeans Platform Master

· Java Zone
Free Resource

Bitbucket is for the code that takes us to Mars, decodes the human genome, or drives your next car. What will your code do? Get started with Bitbucket today, it's free.

I was recently lucky enough to attend Toni Epple's NetBeans Platform Architect Course in Johannesburg, South Africa, and thought that I should share a couple of observations that I made throughout the course:

  • Don't ignore normal patterns:  If it seems like a singleton is the best way to do something then it most probably is - don't then try and push it into a Lookup because it seems like the NetBeans platform thing to do.

  • Sometimes Swing is enough: Don't feel that you need to use nodes, or outline views or the lookup. If the solution seems easier by using standard Swing then just do it.

  • It's just Swing: The NetBeans platform is built on Swing, so if you're wondering if you can swap out a component with one of your own custom ones, you probably can. Want your own custom status bar? Write it.

  • It's modular: If you don't like the way the Default Window Manager works then replace it.

  • Be modular: If you think that there's a chance this code will be used somewhere else then create a new module.

  • Avoid Module Installers: As a rule of thumb try to not have one for your module, they slow down  start-up, and you have to be aware of what modules have been initialized if you want to use classes from them.

  • Take Advantage: The platform has a lot to offer you. Initially it seems like too much, but after a while you get into the swing of how it works, what it can offer you and what you should use. For example the UI gestures Collector – You can detect slowness, log errors and analyse what sections of your application are not being used.

  • Action Attributes: I could never quite figure out which attributes I was allowed to use with my actions – There just didn't seem to be a list. If you Google the  methodValue of instanceCreate in your action (ie org.openide.awt.Actions.context)  you will get the javadocs of that particular method call. The method parameters are the attributes for your action.

  • Annotations: The increasing use of annotations in the platform can only be a good thing, I can't wait for NetBeans 7 to come out so that I can start using the Action annotations.

  • Visual Library: I need to find an excuse to use it, it' just that cool!

  • Your application doesn't need to look like the IDE:

Bitbucket is the Git solution for professional teams who code with a purpose, not just as a hobby. Get started today, it's free.


Opinions expressed by DZone contributors are their own.


Dev Resources & Solutions Straight to Your Inbox

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.


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

{{ parent.tldr }}

{{ parent.urlSource.name }}