NetBeans Retina

Emilian Bold

“I am glad to announce the NetBeans Platform is almost entirely Retina Ready.”

When I started contracting, I wanted a reliable UNIX-like workstation. It was impossible to get a ThinkPad with official Linux on it, while OSX looked better, so I got an Apple laptop. I’ve been doing Java and NetBeans Platform work almost exclusively on Apple gear ever since.

Back in 2013, Apple released MacBooks with a “Retina” display: a very high resolution display which allows crisp fonts and print-like images.

But I only noticed that NetBeans does not have Retina icons when I replaced my laptop late 2015. It seems NetBeans core developers don’t use macOS very much so this was never a high priority concern.

Since a Retina display has a scaling factor of 2, all non-retina assets are doubled and they appear pixelated. You might not notice it at first, but once you do, it’s annoying. Compare the NetBeans icons with the icons:

Just like localization (L10N) and internationalization (I18N), proper Retina support has two aspects:

  • the code needs to be Retina aware so it loads the correct image and
  • the application needs new double-resolution images (as a convention, having the @2x suffix) to load.

I finished the 1st part by making a NetBeans patch but the code without the @2x assets does not do much.

Since designers that work for free are hard to find, I decided to use the latest trend: font icons! Particularly, FontAwesome. Font icons are a new discovery to me and I always think of Wingdings and chuckle.

I am glad to announce NetBeans Platform is almost entirely Retina Ready:

This is an important milestone because it means NetBeans Platform based applications have a path now to become Retina Ready themselves.

Note that we have some color in there and it’s not random: I’m actually using the dominant color of the original icons!

In order to reach this milestone, I built myself a little tool for what I call the NEXTbeans Retina Project:

This is a Wiki-like site where all the NetBeans cluster icons are presented and it’s a matter of a few clicks to pick a matching font icon.

The site was also an opportunity for me to learn Angular 4 and to try some new things, like a LetsEncrypt SSL certificate.

Being a Wiki, the site is open to anyone, but I picked most of the icons myself. It helped that there are only 600 images in the platform cluster, plus a chunk of them are Look and Feel specific, and I only had to target the Mac Look and Feel and ignore Windows, Metal, or Gtk.

This article is an invitation for people to join this project and find matching font icons for all of the NetBeans clusters. If 100 people would match only 5 icons per day all the icons would be ready in 10 days! Go here to get started:

Of course, I am open to suggestions about how NetBeans may become Retina Ready and generally HiDPI Ready. If it’s code, another font icon or vectorial icons set, or site tweaks, drop me a line at [email protected] or tweet me @emilianbold.


Emilian Bold

Emilian Bold is a Java developer with a decade of experience in rich Swing-based desktop applications, usually based on NetBeans Platform. He is a member of the NetBeans Dream Team and works at his own company Joseki Bold SRL ( ).