Swing: A fast-paced guide with production-quality code examples