The advanced graphical toolkit for the Java programming language. Can do absolutely amazing things with graphics and its i18n handling, but is still a complete PITA!
One notable feature of Swing is its use of a Model / View / Controller paradigm. If what you're doing can fit the models they provide, working with Swing can be a lot easier. So long as you don't care about getting focus handling right... :^/
Developers generally likes Swing's alpha transparency and antialiasing. On the other hand, Java2D is slow and, as DKF has written, "IMO what swing needs is idle handling like Tk's. Since it's that which makes Tk seem like greased lightning. The other big issue with Swing is just how fragile it is. It's way too easy to blow things up and bust event handling during development. >:( Javasoft have never really understood non-threaded multiprocessing."