Way to go, Sun! Swing ROCKS!

Whew! As I said, Swing is not an example of simplicity and clarity in program design. This is a lot of complexity for an obvious modification. Be that as it may, this code does demonstrate the Factory Method design pattern in spades—the pattern is used three times in an overlapping fashion.