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.