Swing has many useful classes that make graphical user interface (GUI) development easy. Some of these classes, however, are not well implemented. One example of such a class is ButtonGroup. This article explains why ButtonGroup is poorly designed and …