This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
Actually, in the default Metal LaF at least, it's just one Icon* which reacts to rollover/pressed/selected states by casting the Component passed to its paintIcon method to a JRadioButton and retrieving its model.
* private class javax.swing.plaf.metal.MetalIconFactory.RadioButtonIcon, obtainable via public static Icon getRadioButtonIcon()