MacBeans: Native-looking NetBeans for OSX
Thursday, 2. October 2008, 12:36:51
If you know me you also know that I don't like NetBeans. In fact, I hate it. I hated it when it was called Forte CE and I hate it now. If by any chance you use NetBeans on OSX, you are gonna hate it even more because its look and feel on OSX is simply ugly. Very ugly. Staring at a NetBeans window on OSX is as dangerous as staring directly at the Sun. The only difference is that staring at Sun destroys your eyes while staring at NetBeans destroys your brain.
An ugly look and feel is not NetBeans' only weakness. In Forte CE days, NetBeans' GUI builder, while so buggy and unstable, didn't even support undo/redo and it was not surprising to lose hours of GUI work on every single day. Deleted all the components from your frame accidently? Poof! They're all gone! Looks like the situation is not improved much since then: to some users, even today, "GUI builder is a medieval torture device". It "turns sane men into raving lunatics". If someone at the end of a working day finds out that he has not used the sacred "F" word he will feel so excited and happy. You have to bring your blood pressure medicine to work with you cause NetBeans is known to skyrocket its victims' blood pressure.
Now enough bashing for today. Some time ago I wanted to make NetBeans more native-looking on OSX and today I made some progress. First, lets see how a decent OSX/Cocoa app looks like on Leopard:
Now lets see how NetBeans looks on Leopard:
The toolbar is both different and not unified with the title bar and tabs also look different. These are the primary things I want to fix. Making the toolbar unified was very trivial:
At the moment I am working directly on NetBeans source code but eventually I want to turn the project into a plugin. My goal is to finish it by the end of February 2009. The only non trivial component to fix is NetBeans' custom tabbed pane. I will write more about this as I move forward.
An ugly look and feel is not NetBeans' only weakness. In Forte CE days, NetBeans' GUI builder, while so buggy and unstable, didn't even support undo/redo and it was not surprising to lose hours of GUI work on every single day. Deleted all the components from your frame accidently? Poof! They're all gone! Looks like the situation is not improved much since then: to some users, even today, "GUI builder is a medieval torture device". It "turns sane men into raving lunatics". If someone at the end of a working day finds out that he has not used the sacred "F" word he will feel so excited and happy. You have to bring your blood pressure medicine to work with you cause NetBeans is known to skyrocket its victims' blood pressure.
Now enough bashing for today. Some time ago I wanted to make NetBeans more native-looking on OSX and today I made some progress. First, lets see how a decent OSX/Cocoa app looks like on Leopard:
Now lets see how NetBeans looks on Leopard:
The toolbar is both different and not unified with the title bar and tabs also look different. These are the primary things I want to fix. Making the toolbar unified was very trivial:
At the moment I am working directly on NetBeans source code but eventually I want to turn the project into a plugin. My goal is to finish it by the end of February 2009. The only non trivial component to fix is NetBeans' custom tabbed pane. I will write more about this as I move forward.









Anonymous # 2. October 2008, 17:23
Of the Java IDEs that run on OS X, I think IDEA looks beautiful. NB on OS X looks like hell, I agree. Interested in seeing what you can accomplish. Good luck!
Patrick
Anonymous # 3. October 2008, 09:20
So far your changes makes Netbeans look worse, I would say. But good luck anyway.
Anonymous # 3. October 2008, 11:26
That's interesting reading. And I had to laugh out loud at the beginning. I haven't read so critic words to NB for a while ;) It's refreshing.
However I'm really confused and I'll have to read more of your posts to understand it. You hate NetBeans but you still use it. And even more you are working on an improvement. That's interesting. If your code is publicly available then I'll try to point developers responsible for the NB's window system to it.
I'm crossing my fingers for your "real native l&f of NB on Mac".
Lukas
--
Lukas Hasik
NetBeans Platform & Core QA team lead
http://blogs.sun.com/lukas
http://blogs.sun.com/coreqa
Anonymous # 3. October 2008, 23:43
I really like the idea to have a better OS X appearance for NetBeans and I hope you will meet your goal. To me this doesn't look like a trivial task, but then I don't have that much experience with the NetBeans source code. I would encourage you to blog about your progress and post questions to the Apple Java and NetBeans mailing lists in case you should run into problems.
Anonymous # 4. October 2008, 00:29
You might find inspiring bits on this blog: http://explodingpixels.wordpress.com/
Anonymous # 4. October 2008, 06:33
dude so obvious.
NetBeans......blowssssssss
Behrang Saeedzadeh # 4. October 2008, 07:46
I agree. Both Eclipse and IDEA look OK on OSX. Their shortcut keys clash with standard OSX shortcut keys though. At least on Leopard.
@Anonymous #1:
I agree. Some NetBeans components have transparent backgrounds and now that I have unified the toolbar with the title bar (this changes the background color of the whole frame) they look very dark. But I hope to be able to make NetBeans look more like XCode.
@Lukas:
I don't hate NetBeans in the I-want-it-to-die way of hating things
@Anonymous #2:
Thanks for your encouraging remarks. I am already a member of Apple's Java, and NetBeans' user and developer lists.
Anonymous # 15. October 2008, 17:17
Another resource that comes to mind that might help you, is Werner Randelhofers Quaqua, see http://www.randelshofer.ch/quaqua/. It fixes many quirks with Apples Aqua Look&Feel and might be useful to achieve real native appearance. Best of luck!
Behrang Saeedzadeh # 20. October 2008, 12:12
Thanks. I have not had much time to work on this so far. I was thinking about creating a plugin instead of working directly on NetBeans code but looks like some parts of NetBeans are developed in a quick-and-dirty way and the only way it is possible to change the way they are rendered is by working directly on NetBeans source code. One example of such a component of NetBeans is its toolbar which is not the plain old Swing JToolbar, but an extension of it that uses a custom class for rendering the floatation grips (bumps). I should be able to spend more time on this project from next week. Stay tuned ;-)
Anonymous # 26. November 2008, 04:40
Thank god someone hates the Mac NetBeans look and feel as much as I do...
I changed the laf to metal, metal is ugly but it is better than the default.
Anonymous # 5. January 2009, 13:32
I would even gladly pay for a better looking NetBeans :), because how it looks now is really an atrocity. Good look! I surely hope you will make it!