Du erstellst eine Reihe von JCheckBoxes und fügt sie einer ButtonGroup hinzu.
C++:
JCheckBox cb1 = new JCheckBox("Test1"), cb2 = new JCheckBox("Test2");
ButtonGroup bg = new ButtonGroup();
bg.add(cb1); bg.add(cb2); //Jetzt kann nur noch eine der beiden Checkboxes selected sein
Und dann kannst den CheckBoxes einen ChangeListener oder einen ActionListener hinzufügen. ChangeListener wird aktiv, wenn sich der Status von isSelected ändert. ActionListener wird aktiv, sobald eine der beiden CheckBoxes gedrückt wird, egal ob es nun seinen Status ändert oder nicht.
Aber das sollte eigentlich in jedem Tutorial drinstehen.