The idea also works very nicely for program configuration dialogs. I use Metakit to store the info (and have the Python class automatically create the class variables from the database).

I'm pretty sure there are open source projects out there with a similar approach, but using XML -- basically creating a UI specified by an XML file.

I've heard that some of the Swing layout managers are hard to grasp. You might want to look at John Grayson's Python and Tkinter Programming book; he does some very interesting things with Tkinter.

Tony