Listening to JRadioButton Events with an ItemListener : JRadioButton « Swing « Java Tutorial






Listening to JRadioButton Events with an ItemListener
import java.awt.GridLayout;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;

import javax.swing.AbstractButton;
import javax.swing.ButtonGroup;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JRadioButton;

public class JRadioButtonItemListener {
  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");

    ItemListener itemListener = new ItemListener() {
      String lastSelected;
      public void itemStateChanged(ItemEvent itemEvent) {
        AbstractButton aButton = (AbstractButton)itemEvent.getSource();
        int state = itemEvent.getStateChange();
        String label = aButton.getText();
        String msgStart;
        if (state == ItemEvent.SELECTED) {
          if (label.equals(lastSelected)) {
            msgStart = "Reselected -> ";
          }  else {
           msgStart = "Selected -> ";
          }
          lastSelected = label;
        }  else {
          msgStart = "Deselected -> ";
        }
        System.out.println(msgStart + label);
      }
    };

    panel.add(aRadioButton);
    group.add(aRadioButton);
    panel.add(bRadioButton);
    group.add(bRadioButton);

    aRadioButton.addItemListener(itemListener);
    bRadioButton.addItemListener(itemListener);

    frame.add(panel);
    frame.setSize(300, 200);
    frame.setVisible(true);
  }
  
}








14.9.JRadioButton
14.9.1.Creating JRadioButton Components
14.9.2.Using JRadioButtonUsing JRadioButton
14.9.3.Grouping JRadioButton Components in a ButtonGroupGrouping 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 ActionListenerListening to JRadioButton Events with an ActionListener
14.9.6.Reference to the last selected item and check for reselectionReference to the last selected item and check for reselection
14.9.7.Listening to JRadioButton Events with a ChangeListenerListening to JRadioButton Events with a ChangeListener
14.9.8.Listening to JRadioButton Events with an ItemListenerListening to JRadioButton Events with an ItemListener
14.9.9.Event sequence: Action Event, Item Event and Change EventEvent sequence: Action Event, Item Event and Change Event
14.9.10.Getting selected JRadioButton in a containerGetting selected JRadioButton in a container
14.9.11.Customizing JRadioButton Look and Feel