Posted on May 12, 2009

Time to close the polls

It seemed like it was time to close the polls, I don’t think there is a clear answer across all platforms. On windows there is a clear winner for the native look and that makes sense as Windows LAF has had a huge amount of work put into it over that last 5 years plus. If there was the resources to put a equal effort into the GTK LAF and a new KDE LAF then they would be clear winners to. Nimbus is a great cross platform look and feel and allows people to create good looking applications but maybe is not the simplest look and feel for people to start with as it takes a little effort to make a great looking application with it. Also it is not the best for compatibility with applications written to work with other look and feels so is a dangerous choice as a default. So I kind of feel that we could go native on Windows and people will be happy but there is no clear answer for GTK and KDE. I will pass the poll results on to the other people who have a say in the decision and see what the consensus is.


  • Ian Phillips says:

    While we’re waiting for J7 (should be about by about 2015 for us Mac users, right… ), any news on getting a separate download of nimbus.jar (and the designer tool)? The code at hasn’t had any love in over a year now.

    • Jasper Potts says:

      Now that Nimbus source code is in Java 7 there is nothing stopping someone taking it and creating a separate Jar under GPL with classpath exception license. I just don’t have time to do it, sorry.

  • Ian Phillips says:

    Not sure how easy that’ll be on a Mac, but I’ll give it a go…

  • Jasper Potts says:

    Should not be too hard as I did most of my development work on Nimbus on a Mac so have done this a lot. With Java 5 it will be very hard but with Java 6 not too hard. I did the lazy option and took most of Swing including Basic LAF, Synth LAF and Nimbus LAF and built all of them into Jar and ran with -Xbootpath and it worked. Once apple release the next version of Java due with Snow Leopard I think Nimbus should be in there.

  • Ian Phillips says:

    Cool, done it. It was a little tricky as I needed to download both the Swing forest and the BSD port forest from Mercurial then I could build against a BSD target. I also needed to tell make to ignore errors, as most of Swing failed to build, but that doesn’t really concern me (I just needed it to get as far as running the code-gen stuff). There may be an easier way but I’ve got something to go on for now.

    Also, you’ve given me another idea – I’m going to grab the latest developer seed of snow-leopard (via ADC) and see if there’s a new version of Java in there…


    • Jasper Potts says:

      Ian: If you get to the point you have a Jar and are willing to share then I am happy to give you access to and you could put it up there. Also I heard today that a developer preview of Java for Mac OS X 10.5 Update 4 on which is equivalent to 6u13 so will have Nimbus though I have not tested yet my self.

  • Ian Phillips says:

    Yeah, I’ve got no problem sharing the build I made. Do you want me to mail it to you or will you give me perms to upload it directly to (my user name is iphillips)?

    I’ll have a look at the Apple stuff as well, although if it is there obviously I can’t share it due to the NDA :-(

  • Rhizomorph says:

    FYI – JSpinner’s do not render correctly under Nimbus when using any SpinnerModel other than the default. Specifically, the outline around the text area of the JSpinner is no longer transparent like it’s supposed to be (the area that is highlighted in blue when the component receives focus).

    To reproduce this, place two JSpinners side-by-side on a JPanel that has a black background. Leave one spinner alone, but set the SpinnerModel of the other one to either Number/List/Date etc. You’ll see that the non-default JSpinner is not rendering the same way that the default spinner does.

  • Walter says:

    I tried to email but I couldn’t get the link to work. I was just wondering if you used some kind of utility to generate the defaults page ? I have something to view defaults, but I like the HTML version better.


  • vsync says:

    How about letting users set their own look and feel preferences?

    Currently the only way is to set the preference system-wide or pass it on the command line to each application.

    If I as a user could set the default look and feel in ~/.java versus in /usr/lib somewhere I would be a happy camper.

  • How’s it going Jasper and thanks for the great GUI.

    Well almost great. 😉

    I didn’t really know the proper place to post this but just wanted to let you know that I found a problem when using a JSlider. Basically the situation is when you set paintTrack(false) it does not adhere to that rule.

    You can probably figure out what I was trying to do, without me telling you. My situation was painting something custom under the thumb without having to dive into the L&F itself, well really it was putting a JProgressBar under the JSlider using a JDesktopPane. I may try the JLayredPane, but this was for a quick mock up.

    Either way, I think I might be easier for me to change L&F to metal for that part of the GUI. Then come up with a custom thumb, since it doesn’t paint the track.

  • Man I take that back!!!

    I looked over a link you posted earlier, WOW!!!

    This thing is very extensible, and looks to be fairly easy. Hopefully looks aren’t deceiving… 😉

    Yes, it is 2:15 in the morn. I guess OCD has it’s ups and downs….

    Thanks again Jasper for the great L&F!!!