when the selected radio button is armed, pressed, selected, or released
import java.awt.GridLayout; import javax.swing.AbstractButton; import javax.swing.ButtonGroup; import javax.swing.ButtonModel; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JRadioButton; import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; public class JRadioButtonChangeListener { public static void main(String args[]) { JFrame frame = new JFrame("Grouping Example"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JPanel panel = new JPanel(new GridLayout(0, 1)); ButtonGroup group = new ButtonGroup(); JRadioButton aRadioButton = new JRadioButton("A"); JRadioButton bRadioButton = new JRadioButton("B"); ChangeListener changeListener = new ChangeListener() { public void stateChanged(ChangeEvent changEvent) { AbstractButton aButton = (AbstractButton)changEvent.getSource(); ButtonModel aModel = aButton.getModel(); boolean armed = aModel.isArmed(); boolean pressed = aModel.isPressed(); boolean selected = aModel.isSelected(); System.out.println("Changed: " + armed + "/" + pressed + "/" + selected); } }; panel.add(aRadioButton); group.add(aRadioButton); panel.add(bRadioButton); group.add(bRadioButton); aRadioButton.addChangeListener(changeListener); bRadioButton.addChangeListener(changeListener); frame.add(panel); frame.setSize(300, 200); frame.setVisible(true); } }
14.9.JRadioButton | ||||
14.9.1. | Creating JRadioButton Components | |||
14.9.2. | Using JRadioButton | |||
14.9.3. | Grouping JRadioButton Components in a ButtonGroup | |||
14.9.4. | Determining the Selected JRadioButton in a Button Group | |||
14.9.5. | Listening to JRadioButton Events with an ActionListener | |||
14.9.6. | Reference to the last selected item and check for reselection | |||
14.9.7. | Listening to JRadioButton Events with a ChangeListener | |||
14.9.8. | Listening to JRadioButton Events with an ItemListener | |||
14.9.9. | Event sequence: Action Event, Item Event and Change Event | |||
14.9.10. | Getting selected JRadioButton in a container | |||
14.9.11. | Customizing JRadioButton Look and Feel |