The new JDK 1.4.2 comes with two new lnfs. One of them is a look and feel for Windows XP. It uses the new theming engine build in into Windows XP. When using this look and feel Java applications look like native applications on XP. Well, at least that’s what it’s meant to be like.
As long as you use one of the horrible Luna visual styles that come with Windows XP, you probably won’t notice any peculiarities. The problem is I don’t use Luna. Luna is, as I already said, horrible. It wastes space and is not ergonomic in some places.
Although there is a theming engine in Windows XP, Microsoft locked it up and only signed styles made by Microsoft can be run. As always there are ways around this. You can install a hacked version of uxtheme.dll or install StyleXP, which pats XP on the had and says “It’s ok to use this visual style. Trust me” every time an usigned visual style is to be used. So there are possibilities to escape Luna. And that’s what I did. Many unsigned visual styles created by lots of people are around. One of them is Watercolor, which recreates the original style of the Whistler builds of Windows. This is a very smooth and ergonomic style. I cannot understand why Microsoft dropped it and changed to Luna. But ok, this is a Microsoft secret and sincerely I don’t care.
When JDK 1.4.2 came out I though to myself “Cool, now I’ll be able to use my Java apps with a look and feel I really like”. But the disappointment came fast. The first tests with SwingSet2 showed that the look and feel is really bad. I think it’s hand optimized for Luna and doesn’t really use the theming engine the way it should be used. It’s nearly useless with Watercolor. The progress bar is not showing, the caption buttons aren’t on the right places and the sliders look just awful.
Let’s wait for JDK 1.5 then. Maybe they’ll fix it there.