Many thanks to my family and friends who always said that I was never liv-
ing up to my potential. Thank you for raising, loving, and teaching me. I
promise to live up to my potential now, starting next week.
Thanks to the great team at O’Reilly, especially Brett, who tirelessly read
through my drafts, dotted the ts, crossed the is, and made my prose readable.
Thanks go out to the readers of Java.net and Daniel Steinberg, my Java.net
editor, who have always provided encouragement, feedback, and construc-
tive criticism. Without the Java community’s ecology of code and fresh
ideas, this book wouldn’t have been possible.
Special thanks to Jonathan and Romain who gave us the boost we needed to
get the book finished. They’ve put in some great stuff. I’ve even learned a
Extra special thanks to Chris who believed from the start that this was a
great idea for a book. He guided me through the proposal process, shaped
our draft, and always kept the book on track. Maybe we can finally get that
And, finally, my unending thanks to all of the Swing Team developers who
put in 10 years of blood and sweat, making Swing the powerful toolkit it is
today. I hope we can keep pushing it forward.
Credit for this book needs to begin with Joshua—I’m still tempted to type
“Joshy” because that’s his username everywhere—who started this book as
an informal series on his popular Java.net weblog and had the wherewithal
to push through a book proposal.
Also, all the really cool hacks are his. But I think that’s what everyone
involved with this book has been saying when they read what the others
And speaking of them, thanks also to our contributors, Romain and
Jonathan, who came in at just the right time to get this book over the hump
and make it real. Their inventiveness and responsiveness helped us pull
Thanks to Brett McLaughlin, who was on the receiving end of a pretty wild
brain-dump, with two authors and two contributors going on wildly differ-
ent tangents. He helped shape this book into something readable and fun.
Lots of other people in O’Reilly production will handle this book after I fin-
ish writing this acknowledgment, and I thank them in advance for every-
thing they do.