Note: Since Java 6 release, an updated version of this text, including the code samples, is available as part of the Swing trail of Java Tutorial:
How to Use GroupLayout, GroupLayout example
GroupLayout is a new layout manager that was developed as a
Swing Labs project in conjunction
with Matisse, the new GUI builder in NetBeans 5.0. There is a chance that
GroupLayout will become a part of JDK...
on Feb 22, 2006
This article is Part One of a 2-part series. In Part One, I look at some
of the problems contributing to choppy animations. In Part Two, Smooth
Moves, I look at some of the possible solutions and offer a demo application
for trying out some of the results.
I was working on some animation code the other day and ran...
on Feb 21, 2006
When i have written the previous entry on aligning menu items in Swing applications, i was blissfully ignorant and thought that the life was good. Thankfully, one of the users of Substance has opened this defect with the following summary - "Menu texts are invisible in RTL orientation".
Why, say you. What's that RTL has to do with my application? Turns out that there are four locales that define...
on Feb 18, 2006
I'm an engineer, and if there's one thing that engineers suck at, it's taking stock of recent accomplishments. As soon as one project is "completed" (no matter how significant or gratifying), we're already looking forward to the next big task into which to sink our collective teeth. Who has time to sit around chatting about that old project when there's something new and shiny to tinker with...
on Feb 15, 2006
What I Like About Mustang
I've written about Mustang a few times already, but I thought I'd take the
opportunity of the Mustang Beta Release to wax poetic about some of my favorite features in the release.
This view is most certainly skewed, biased, and even subjective; there are a
lot of cool things in the platform, but I specifically wanted to talk...
on Feb 15, 2006
Winners of NetBeans look-and-feel competition have been announced. Needless to say that I have been pleasantly surprised to see that 31 out of 33 winners have used the Substance module for NetBeans to create their entries (I really liked the entry of Cicero Zandona that used the same watermark as the desktop):
All of these have used image-based watermark despite the fact that quite a few other...
on Feb 14, 2006
I've never posted an "off-topic" blog posting before, but permit me a short indulgence: Luke Allen Bair, my first child, was born February 3rd at 6:31pm. Wife and child are doing well. Here's a couple quick pictures (as any proud papa would have to post, of course :-)).
on Feb 9, 2006
As mentioned in my previous blog entry, one of the reasons i have started the Flamingo project (release candidate February 13, release February 27, version 1.0 code-named Aoife) was the rather unexpected contribution from the commercial vendor (Rick Jeliffe of Topologi). On one hand, he paid money to his developers to make this component happen (back in 2003, way before Windows Vista integrated...
on Feb 8, 2006
The Java platform has come a long way in its effort to minimize the difference between the performance and integration of native applications and Java applications. Java SE 6, code-named Mustang, continues to narrow the gap with system tray functionality and the new Desktop API. In brief, the new Desktop API allows Java applications to interact with the default applications associated with...
on Feb 7, 2006
I know it's been quite a while since I've written anything. I've been busy with quite a few project and I'll have some cool stuff to share soon. In the meantime I thought I'd show you an interesting tidbit I discovered in Matisse and Netbeans.
I've recently begun using Matisse for all of my GUI building tasks and overall I'm pretty pleased. I can quickly whip up dialog boxes and basic layouts...
on Feb 7, 2006
Most GUI are really boring. And I really mean it. Admit it, you'd rather listen to a French stammerer trying to recite a bad English translation of War and Peace during a rainy Sunday afternoon (and boy what a long afternoon it would be) than look yet again at some applications. Besides cool aesthetics, a way to make a GUI for appealing (just talking about the look here) is to introduce...
on Feb 7, 2006
One of the issues for Desktop Java developers is that the Java platform isn't everywhere, meaning that you cannot count on everyone having the latest/greatest release (although a vast majority do have some version of Java). The only solution to this is to make getting Java as easy and seamless as possible for your users.
So without further ado, please let me introduce ...
The GetJava Logo...
on Jan 31, 2006
Tom Hawtin writes about a deadlock he found in jedit 4.2. As he says: There was, however, a use of invokeAndWait. Sure enough the EDT was waiting on monitor locked by the thread calling invokeAndWait.
What's most interesting is a class he provides to help one automatically find those situations. It relies on a Mustang ability provided through the JMX support to query all held locks. The code...
on Jan 19, 2006
Over the past year i have written a number of components for my various projects at java.net, and i have received a few requests to make them available in a separate project. When Rick Jeliffe of Topologi has contacted me a couple of weeks ago and proposed to open-source their own implementation of breadcrumb bar (that will be an integral part of Windows Vista and was present in Topologi from...
on Jan 14, 2006
Happy New Year!
It's been a while since my last post, but I wanted to kick off 2006 by reporting some nice performance improvements in Image I/O. As you may know, we're constantly finding ways to boost performance in various parts of the JDK. In JDK 5 we did some performance work in Image I/O, specifically to avoid finalization in the JPEGImageReader, which made for huge gains in scalability...
on Jan 13, 2006
About six months ago I had a dream. Not the sort of dream that makes
you wake up shrieking or smiling, and not the kind that brings you
down from the mountain top or even gets you off the couch. Mine was
the kind of dream programmers have. The kind of sloth inspired idea
that comes to you while staring at the screen, wondering if there's
a way to eliminate all of the mouse clicking and key...
on Jan 9, 2006
Richard Bair and I have created a presentation entitled Desktop Java in Action for JavaPolis. I also presented this talk in Paris at Sun Microsystems. I recently made the slids of the talk available online but as every slide set, they lack a lot of information given by the speaker(s).
If you speak french, you are very lucky because Developpez, a french programming network, offers a video of the...
on Jan 5, 2006
This entry describes the capabilities that release 2.1 of Substance look-and-feel provides for your tabbed panes. They are:
Animation effect for tabs with modified (and unsaved) content
Close buttons on tabs with listeners
Following the feedback from the users (thanks Raj), the latest daily drop of version 2.2 (code-named El Paso) provides even more functionality available to your Swing...
on Dec 22, 2005
The GMail provides a nice visual feedback while you are typing a new password. On each keystroke, the currently typed string is sent to the Google servers (hopefully encrypted) and the computed strength is shown to the user (weak - red, medium - yellow, strong - green). This can serve as either suggestion only (as is in Google's case) or as semi-client side validation (providing feedback to the...
on Dec 16, 2005