Button Design
JButtons are a good example of the Model, View Control structure Java, *ahem*, borrowed and modified from Smalltalk
implements ItemSelectable, SwingConstants
Defines the common behaviors for the JButton, JToggleButton, JCheckbox, and the JRadioButton classes.
+--javax.swing.JComponent
+--javax.swing.AbstractButton
public abstract interface javax.swing.ButtonModel
The ButtonModel provides the
state machine for Button behavior