Skip to content

The Quaqua Look and Feel

by werner on January 26th, 2008

Quaqua stands for ‹Quick and dirty fixes for Apple’s Aqua Look and Feel›.

This is one of my most mondane projects – its just a bunch of workarounds. Nevertheless its fun to do it, altough I think I spend way too much time on it.

I started this project in 2003, because I disliked the design choice that Apple made for NSTabView for Mac OS X 10.3. I wanted the old design back (Quaqua now implements both the older and newer design). There was also a number of minor layout innacuracies in Apple’s implementation of the Aqua Look and Feel which I wanted to fix. I felt that all these minor issues added up, and made Swing applications look sub-par in comparison with native applications.

At one point, I integrated the file dialog code by Steve Roy, which finally allowed to use a JFileChooser in a Java application on Mac OS X. This caused quite a jump in popularity of the Quaqua Look and Feel.

Since Landon Fuller created a port of the FreeBSD Java 1.6 patchset for Mac OS X named SoyLatte, I am now motivated on making Quaqua a fully self-contained look and feel. This is because Apple has never been a reliable partner for J2SE releases on Mac OS X. One day, thanks to open source projects like SoyLatte, we will hopefully have timely releases of new J2SE releases on Mac OS X.

I am currently finishing up the Tiger design (that’s the design used in Mac OS X 10.4 and older). This is the most complete design, I already have, and it is much less complex to do then the new resolution-independent Leopard design (Mac OS X 10.5).

My last addition to Quaqua is an UI delegate for JSlider:

Quaqua JSlider

Okay, one down, three more to go: the last missing UI delegates are for JProgressBar, JInternalFrame and JToolTip.

Oh, you are not getting excited by this screenshot? Well, I told you so, Quaqua is just ‹the works›. 🙂

  1. Bill permalink

    Hi werner,

    I want to thank you for Quaqua. Can I send you some beer? Without it I would not have been able to deploy on Leopard even though I had the UI sorted for Tiger, the button insets were unworkable on leopard. thanks and Im serious about the beer!


  2. Hi Bill,

    I am very glad Quaqua is of use to you. Let me know, if you have a project, I can link back to from the Quaqua download page.

    I take all invitations to drinks seriously. 🙂
    I’ll send you my address off list.


  3. Bill, the beer has arrived. Thank you very much, and – of course – cheers!!. 🙂

  4. tristan seifert permalink

    When will the missing UI’s be implemented?

  5. Hi Tristan,

    Quaqua runs on top of Apple’s Aqua Look and Feel. It only implements those UI’s which need fixes. UI’s which are not implemented in Quaqua fall back to Aqua.


Comments are closed.