<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java_Tutorial%2FSwing%2FJRadioButton</id>
		<title>Java Tutorial/Swing/JRadioButton - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java_Tutorial%2FSwing%2FJRadioButton"/>
		<link rel="alternate" type="text/html" href="http://jexp.ru/index.php?title=Java_Tutorial/Swing/JRadioButton&amp;action=history"/>
		<updated>2026-04-07T13:14:19Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://jexp.ru/index.php?title=Java_Tutorial/Swing/JRadioButton&amp;diff=3887&amp;oldid=prev</id>
		<title> в 17:44, 31 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://jexp.ru/index.php?title=Java_Tutorial/Swing/JRadioButton&amp;diff=3887&amp;oldid=prev"/>
				<updated>2010-05-31T17:44:27Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 17:44, 31 мая 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
			</entry>

	<entry>
		<id>http://jexp.ru/index.php?title=Java_Tutorial/Swing/JRadioButton&amp;diff=3888&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://jexp.ru/index.php?title=Java_Tutorial/Swing/JRadioButton&amp;diff=3888&amp;oldid=prev"/>
				<updated>2010-05-31T15:32:30Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==  Creating JRadioButton Components ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;OL&amp;gt;&amp;lt;LI&amp;gt;A JRadioButton represents a radio button.&amp;lt;/LI&amp;gt;&amp;lt;LI&amp;gt;You can use multiple JRadioButtons to represents a selection from which only one item can be selected.&amp;lt;/LI&amp;gt;&amp;lt;LI&amp;gt;To indicate a logical grouping of radio buttons, you use a javax.swing.ButtonGroup object.&amp;lt;/LI&amp;gt;&amp;lt;LI&amp;gt;To programmatically select a JRadioButton, you pass true to its setSelected method.&amp;lt;/LI&amp;gt;&amp;lt;/OL&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
public JRadioButton()&lt;br /&gt;
JRadioButton aRadioButton = new JRadioButton();&lt;br /&gt;
public JRadioButton(Icon icon)&lt;br /&gt;
JRadioButton aRadioButton = new JRadioButton(new DiamondIcon(Color.CYAN, false));&lt;br /&gt;
aRadioButton.setSelectedIcon(new DiamondIcon(Color.BLUE, true));&lt;br /&gt;
public JRadioButton(Icon icon, boolean selected)&lt;br /&gt;
JRadioButton aRadioButton = new JRadioButton(new DiamondIcon(Color.CYAN, false),  true);&lt;br /&gt;
aRadioButton.setSelectedIcon(new DiamondIcon(Color.BLUE, true));&lt;br /&gt;
public JRadioButton(String text)&lt;br /&gt;
JRadioButton aRadioButton = new JRadioButton(&amp;quot;4 slices&amp;quot;);&lt;br /&gt;
public JRadioButton(String text, boolean selected)&lt;br /&gt;
JRadioButton aRadioButton = new JRadioButton(&amp;quot;8 slices&amp;quot;, true);&lt;br /&gt;
public JRadioButton(String text, Icon icon)&lt;br /&gt;
JRadioButton aRadioButton = new JRadioButton(&amp;quot;12 slices&amp;quot;,  new DiamondIcon(Color.CYAN, false));&lt;br /&gt;
aRadioButton.setSelectedIcon(new DiamondIcon(Color.BLUE, true));&lt;br /&gt;
public JRadioButton(String text, Icon icon, boolean selected)&lt;br /&gt;
JRadioButton aRadioButton = new JRadioButton(&amp;quot;16 slices&amp;quot;,  new DiamondIcon(Color.CYAN, false), true);&lt;br /&gt;
aRadioButton.setSelectedIcon(new DiamondIcon(Color.BLUE, true));&lt;br /&gt;
public JRadioButton(Action action)&lt;br /&gt;
Action action = ...;&lt;br /&gt;
JRadioButton aRadioButton = new JRadioButton(action);&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Customizing JRadioButton Look and Feel ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Property StringObject TypeRadioButton.backgroundColorRadioButton.borderBorderRadioButton.darkShadowColorRadioButton.disabledTextColorRadioButton.focusColorRadioButton.focusInputMapObject[ ]RadioButton.fontFontRadioButton.foregroundColorRadioButton.gradientListRadioButton.highlightColorRadioButton.iconIconRadioButton.interiorBackgroundColorRadioButton.lightColorRadioButton.marginInsetsRadioButton.rolloverBooleanRadioButton.selectColorRadioButton.shadowColorRadioButton.textIconGapIntegerRadioButton.textShiftOffsetIntegerRadioButtonUIString&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Determining the Selected JRadioButton in a Button Group ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.util.Enumeration;&lt;br /&gt;
import javax.swing.ButtonGroup;&lt;br /&gt;
import javax.swing.JRadioButton;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
  }&lt;br /&gt;
  public static JRadioButton getSelection(ButtonGroup group) {&lt;br /&gt;
    for (Enumeration e = group.getElements(); e.hasMoreElements();) {&lt;br /&gt;
      JRadioButton b = (JRadioButton) e.nextElement();&lt;br /&gt;
      if (b.getModel() == group.getSelection()) {&lt;br /&gt;
        return b;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
    return null;&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Event sequence: Action Event, Item Event and Change Event ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.awt.GridLayout;&lt;br /&gt;
import java.awt.event.ActionEvent;&lt;br /&gt;
import java.awt.event.ActionListener;&lt;br /&gt;
import java.awt.event.ItemEvent;&lt;br /&gt;
import java.awt.event.ItemListener;&lt;br /&gt;
import javax.swing.AbstractButton;&lt;br /&gt;
import javax.swing.ButtonGroup;&lt;br /&gt;
import javax.swing.ButtonModel;&lt;br /&gt;
import javax.swing.JFrame;&lt;br /&gt;
import javax.swing.JPanel;&lt;br /&gt;
import javax.swing.JRadioButton;&lt;br /&gt;
import javax.swing.event.ChangeEvent;&lt;br /&gt;
import javax.swing.event.ChangeListener;&lt;br /&gt;
public class JRadioButtonEventSequence {&lt;br /&gt;
  public static void main(String args[]) {&lt;br /&gt;
    JFrame frame = new JFrame(&amp;quot;Grouping Example&amp;quot;);&lt;br /&gt;
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);&lt;br /&gt;
    JPanel panel = new JPanel(new GridLayout(0, 1));&lt;br /&gt;
    ButtonGroup group = new ButtonGroup();&lt;br /&gt;
    JRadioButton aRadioButton = new JRadioButton(&amp;quot;A&amp;quot;);&lt;br /&gt;
    JRadioButton bRadioButton = new JRadioButton(&amp;quot;B&amp;quot;);&lt;br /&gt;
    ActionListener actionListener = new ActionListener() {&lt;br /&gt;
      String lastSelected;&lt;br /&gt;
      public void actionPerformed(ActionEvent actionEvent) {&lt;br /&gt;
        AbstractButton aButton = (AbstractButton)actionEvent.getSource();&lt;br /&gt;
        String label = aButton.getText();&lt;br /&gt;
        String msgStart;&lt;br /&gt;
        if (label.equals(lastSelected)) {&lt;br /&gt;
          msgStart = &amp;quot;Reselected: &amp;quot;;&lt;br /&gt;
        } else {&lt;br /&gt;
          msgStart = &amp;quot;Selected: &amp;quot;;&lt;br /&gt;
        }&lt;br /&gt;
        lastSelected = label;&lt;br /&gt;
        System.out.println(msgStart + label);&lt;br /&gt;
      }&lt;br /&gt;
    };&lt;br /&gt;
    ItemListener itemListener = new ItemListener() {&lt;br /&gt;
      String lastSelected;&lt;br /&gt;
      public void itemStateChanged(ItemEvent itemEvent) {&lt;br /&gt;
        AbstractButton aButton = (AbstractButton)itemEvent.getSource();&lt;br /&gt;
        int state = itemEvent.getStateChange();&lt;br /&gt;
        String label = aButton.getText();&lt;br /&gt;
        String msgStart;&lt;br /&gt;
        if (state == ItemEvent.SELECTED) {&lt;br /&gt;
          if (label.equals(lastSelected)) {&lt;br /&gt;
            msgStart = &amp;quot;Reselected -&amp;gt; &amp;quot;;&lt;br /&gt;
          } else {&lt;br /&gt;
            msgStart = &amp;quot;Selected -&amp;gt; &amp;quot;;&lt;br /&gt;
          }&lt;br /&gt;
          lastSelected = label;&lt;br /&gt;
        } else {&lt;br /&gt;
          msgStart = &amp;quot;Deselected -&amp;gt; &amp;quot;;&lt;br /&gt;
        }&lt;br /&gt;
        System.out.println(msgStart + label);&lt;br /&gt;
      }&lt;br /&gt;
    };&lt;br /&gt;
    ChangeListener changeListener = new ChangeListener() {&lt;br /&gt;
      public void stateChanged(ChangeEvent changEvent) {&lt;br /&gt;
        AbstractButton aButton = (AbstractButton)changEvent.getSource();&lt;br /&gt;
        ButtonModel aModel = aButton.getModel();&lt;br /&gt;
        boolean armed = aModel.isArmed();&lt;br /&gt;
        boolean pressed = aModel.isPressed();&lt;br /&gt;
        boolean selected = aModel.isSelected();&lt;br /&gt;
        System.out.println(&amp;quot;Changed: &amp;quot; + armed + &amp;quot;/&amp;quot; + pressed + &amp;quot;/&amp;quot; +&lt;br /&gt;
          selected);&lt;br /&gt;
      }&lt;br /&gt;
    };&lt;br /&gt;
    panel.add(aRadioButton);&lt;br /&gt;
    group.add(aRadioButton);&lt;br /&gt;
    panel.add(bRadioButton);&lt;br /&gt;
    group.add(bRadioButton);&lt;br /&gt;
    aRadioButton.addChangeListener(changeListener);&lt;br /&gt;
    bRadioButton.addChangeListener(changeListener);&lt;br /&gt;
    aRadioButton.addActionListener(actionListener);&lt;br /&gt;
    bRadioButton.addActionListener(actionListener);&lt;br /&gt;
    aRadioButton.addItemListener(itemListener);&lt;br /&gt;
    bRadioButton.addItemListener(itemListener);&lt;br /&gt;
    frame.add(panel);&lt;br /&gt;
    frame.setSize(300, 200);&lt;br /&gt;
    frame.setVisible(true);&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Getting selected JRadioButton in a container ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.awt.ruponent;&lt;br /&gt;
import java.awt.Container;&lt;br /&gt;
import java.awt.GridLayout;&lt;br /&gt;
import java.awt.event.ActionEvent;&lt;br /&gt;
import java.awt.event.ActionListener;&lt;br /&gt;
import java.util.Enumeration;&lt;br /&gt;
import java.util.Vector;&lt;br /&gt;
import javax.swing.AbstractButton;&lt;br /&gt;
import javax.swing.ButtonGroup;&lt;br /&gt;
import javax.swing.JFrame;&lt;br /&gt;
import javax.swing.JPanel;&lt;br /&gt;
import javax.swing.JRadioButton;&lt;br /&gt;
public class JRadioButtonSelectedElements {&lt;br /&gt;
  public static void main(String args[]) {&lt;br /&gt;
    JFrame frame = new JFrame(&amp;quot;Grouping Example&amp;quot;);&lt;br /&gt;
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);&lt;br /&gt;
    JPanel panel = new JPanel(new GridLayout(0, 1));&lt;br /&gt;
    ButtonGroup group = new ButtonGroup();&lt;br /&gt;
    JRadioButton aRadioButton = new JRadioButton(&amp;quot;A&amp;quot;);&lt;br /&gt;
    JRadioButton bRadioButton = new JRadioButton(&amp;quot;B&amp;quot;);&lt;br /&gt;
    ActionListener crustActionListener = new ActionListener() {&lt;br /&gt;
      String lastSelected;&lt;br /&gt;
      public void actionPerformed(ActionEvent actionEvent) {&lt;br /&gt;
        AbstractButton aButton = (AbstractButton) actionEvent.getSource();&lt;br /&gt;
        String label = aButton.getText();&lt;br /&gt;
        String msgStart;&lt;br /&gt;
        if (label.equals(lastSelected)) {&lt;br /&gt;
          msgStart = &amp;quot;Reselected: &amp;quot;;&lt;br /&gt;
        } else {&lt;br /&gt;
          msgStart = &amp;quot;Selected: &amp;quot;;&lt;br /&gt;
        }&lt;br /&gt;
        lastSelected = label;&lt;br /&gt;
        System.out.println(msgStart + label);&lt;br /&gt;
      }&lt;br /&gt;
    };&lt;br /&gt;
    panel.add(aRadioButton);&lt;br /&gt;
    group.add(aRadioButton);&lt;br /&gt;
    panel.add(bRadioButton);&lt;br /&gt;
    group.add(bRadioButton);&lt;br /&gt;
    aRadioButton.addActionListener(crustActionListener);&lt;br /&gt;
    bRadioButton.addActionListener(crustActionListener);&lt;br /&gt;
    frame.add(panel);&lt;br /&gt;
    frame.setSize(300, 200);&lt;br /&gt;
    frame.setVisible(true);&lt;br /&gt;
    &lt;br /&gt;
    System.out.println(getSelectedElements(panel).hasMoreElements());&lt;br /&gt;
  }&lt;br /&gt;
  public static Enumeration&amp;lt;String&amp;gt; getSelectedElements(Container container) {&lt;br /&gt;
    Vector&amp;lt;String&amp;gt; selections = new Vector&amp;lt;String&amp;gt;();&lt;br /&gt;
    Component components[] = container.getComponents();&lt;br /&gt;
    for (int i=0, n=components.length; i&amp;lt;n; i++) {&lt;br /&gt;
      if (components[i] instanceof AbstractButton) {&lt;br /&gt;
        AbstractButton button = (AbstractButton)components[i];&lt;br /&gt;
        if (button.isSelected()) {&lt;br /&gt;
          selections.addElement(button.getText());&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
    return selections.elements();&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Grouping JRadioButton Components in a ButtonGroup ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.awt.BorderLayout;&lt;br /&gt;
import java.awt.Container;&lt;br /&gt;
import java.awt.GridLayout;&lt;br /&gt;
import javax.swing.BorderFactory;&lt;br /&gt;
import javax.swing.ButtonGroup;&lt;br /&gt;
import javax.swing.JFrame;&lt;br /&gt;
import javax.swing.JPanel;&lt;br /&gt;
import javax.swing.JRadioButton;&lt;br /&gt;
import javax.swing.border.Border;&lt;br /&gt;
class RadioButtonUtils {&lt;br /&gt;
  public static Container createRadioButtonGrouping(String elements[], String title) {&lt;br /&gt;
    JPanel panel = new JPanel(new GridLayout(0, 1));&lt;br /&gt;
    if (title != null) {&lt;br /&gt;
      Border border = BorderFactory.createTitledBorder(title);&lt;br /&gt;
      panel.setBorder(border);&lt;br /&gt;
    }&lt;br /&gt;
    ButtonGroup group = new ButtonGroup();&lt;br /&gt;
    JRadioButton aRadioButton;&lt;br /&gt;
    for (int i = 0, n = elements.length; i &amp;lt; n; i++) {&lt;br /&gt;
      aRadioButton = new JRadioButton(elements[i]);&lt;br /&gt;
      panel.add(aRadioButton);&lt;br /&gt;
      group.add(aRadioButton);&lt;br /&gt;
    }&lt;br /&gt;
    return panel;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
public class GroupJRadioButton {&lt;br /&gt;
  private static final String sliceOptions[] = { &amp;quot;4&amp;quot;, &amp;quot;8&amp;quot;, &amp;quot;12&amp;quot;, &amp;quot;16&amp;quot; };&lt;br /&gt;
  private static final String crustOptions[] = { &amp;quot;A&amp;quot;, &amp;quot;B&amp;quot;, &amp;quot;C&amp;quot;, &amp;quot;D&amp;quot; };&lt;br /&gt;
  public static void main(String args[]) {&lt;br /&gt;
    JFrame frame = new JFrame(&amp;quot;Grouping Example&amp;quot;);&lt;br /&gt;
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);&lt;br /&gt;
    Container sliceContainer = RadioButtonUtils.createRadioButtonGrouping(sliceOptions,&lt;br /&gt;
        &amp;quot;Slice Count&amp;quot;);&lt;br /&gt;
    Container crustContainer = RadioButtonUtils.createRadioButtonGrouping(crustOptions,&lt;br /&gt;
        &amp;quot;Crust Type&amp;quot;);&lt;br /&gt;
    frame.add(sliceContainer, BorderLayout.WEST);&lt;br /&gt;
    frame.add(crustContainer, BorderLayout.EAST);&lt;br /&gt;
    frame.setSize(300, 200);&lt;br /&gt;
    frame.setVisible(true);&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Listening to JRadioButton Events with a ChangeListener ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;when the selected radio button is armed, pressed, selected, or released&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.awt.GridLayout;&lt;br /&gt;
import javax.swing.AbstractButton;&lt;br /&gt;
import javax.swing.ButtonGroup;&lt;br /&gt;
import javax.swing.ButtonModel;&lt;br /&gt;
import javax.swing.JFrame;&lt;br /&gt;
import javax.swing.JPanel;&lt;br /&gt;
import javax.swing.JRadioButton;&lt;br /&gt;
import javax.swing.event.ChangeEvent;&lt;br /&gt;
import javax.swing.event.ChangeListener;&lt;br /&gt;
public class JRadioButtonChangeListener {&lt;br /&gt;
  public static void main(String args[]) {&lt;br /&gt;
    JFrame frame = new JFrame(&amp;quot;Grouping Example&amp;quot;);&lt;br /&gt;
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);&lt;br /&gt;
    JPanel panel = new JPanel(new GridLayout(0, 1));&lt;br /&gt;
    ButtonGroup group = new ButtonGroup();&lt;br /&gt;
    JRadioButton aRadioButton = new JRadioButton(&amp;quot;A&amp;quot;);&lt;br /&gt;
    JRadioButton bRadioButton = new JRadioButton(&amp;quot;B&amp;quot;);&lt;br /&gt;
    ChangeListener changeListener = new ChangeListener() {&lt;br /&gt;
      public void stateChanged(ChangeEvent changEvent) {&lt;br /&gt;
        AbstractButton aButton = (AbstractButton)changEvent.getSource();&lt;br /&gt;
        ButtonModel aModel = aButton.getModel();&lt;br /&gt;
        boolean armed = aModel.isArmed();&lt;br /&gt;
        boolean pressed = aModel.isPressed();&lt;br /&gt;
        boolean selected = aModel.isSelected();&lt;br /&gt;
        System.out.println(&amp;quot;Changed: &amp;quot; + armed + &amp;quot;/&amp;quot; + pressed + &amp;quot;/&amp;quot; +&lt;br /&gt;
          selected);&lt;br /&gt;
      }&lt;br /&gt;
    };&lt;br /&gt;
    panel.add(aRadioButton);&lt;br /&gt;
    group.add(aRadioButton);&lt;br /&gt;
    panel.add(bRadioButton);&lt;br /&gt;
    group.add(bRadioButton);&lt;br /&gt;
    aRadioButton.addChangeListener(changeListener);&lt;br /&gt;
    bRadioButton.addChangeListener(changeListener);&lt;br /&gt;
    frame.add(panel);&lt;br /&gt;
    frame.setSize(300, 200);&lt;br /&gt;
    frame.setVisible(true);&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Listening to JRadioButton Events with an ActionListener ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.awt.GridLayout;&lt;br /&gt;
import java.awt.event.ActionEvent;&lt;br /&gt;
import java.awt.event.ActionListener;&lt;br /&gt;
import javax.swing.AbstractButton;&lt;br /&gt;
import javax.swing.ButtonGroup;&lt;br /&gt;
import javax.swing.JFrame;&lt;br /&gt;
import javax.swing.JPanel;&lt;br /&gt;
import javax.swing.JRadioButton;&lt;br /&gt;
public class JRadioButtonActionListener {&lt;br /&gt;
  public static void main(String args[]) {&lt;br /&gt;
    JFrame frame = new JFrame(&amp;quot;Grouping Example&amp;quot;);&lt;br /&gt;
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);&lt;br /&gt;
    JPanel panel = new JPanel(new GridLayout(0, 1));&lt;br /&gt;
    ButtonGroup group = new ButtonGroup();&lt;br /&gt;
    JRadioButton aRadioButton = new JRadioButton(&amp;quot;A&amp;quot;);&lt;br /&gt;
    JRadioButton bRadioButton = new JRadioButton(&amp;quot;B&amp;quot;);&lt;br /&gt;
    ActionListener sliceActionListener = new ActionListener() {&lt;br /&gt;
      public void actionPerformed(ActionEvent actionEvent) {&lt;br /&gt;
        AbstractButton aButton = (AbstractButton) actionEvent.getSource();&lt;br /&gt;
        System.out.println(&amp;quot;Selected: &amp;quot; + aButton.getText());&lt;br /&gt;
      }&lt;br /&gt;
    };&lt;br /&gt;
    panel.add(aRadioButton);&lt;br /&gt;
    group.add(aRadioButton);&lt;br /&gt;
    panel.add(bRadioButton);&lt;br /&gt;
    group.add(bRadioButton);&lt;br /&gt;
    aRadioButton.addActionListener(sliceActionListener);&lt;br /&gt;
    bRadioButton.addActionListener(sliceActionListener);&lt;br /&gt;
&lt;br /&gt;
    frame.add(panel);&lt;br /&gt;
    frame.setSize(300, 200);&lt;br /&gt;
    frame.setVisible(true);&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Listening to JRadioButton Events with an ItemListener ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.awt.GridLayout;&lt;br /&gt;
import java.awt.event.ItemEvent;&lt;br /&gt;
import java.awt.event.ItemListener;&lt;br /&gt;
import javax.swing.AbstractButton;&lt;br /&gt;
import javax.swing.ButtonGroup;&lt;br /&gt;
import javax.swing.JFrame;&lt;br /&gt;
import javax.swing.JPanel;&lt;br /&gt;
import javax.swing.JRadioButton;&lt;br /&gt;
public class JRadioButtonItemListener {&lt;br /&gt;
  public static void main(String args[]) {&lt;br /&gt;
    JFrame frame = new JFrame(&amp;quot;Grouping Example&amp;quot;);&lt;br /&gt;
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);&lt;br /&gt;
    JPanel panel = new JPanel(new GridLayout(0, 1));&lt;br /&gt;
    ButtonGroup group = new ButtonGroup();&lt;br /&gt;
    JRadioButton aRadioButton = new JRadioButton(&amp;quot;A&amp;quot;);&lt;br /&gt;
    JRadioButton bRadioButton = new JRadioButton(&amp;quot;B&amp;quot;);&lt;br /&gt;
    ItemListener itemListener = new ItemListener() {&lt;br /&gt;
      String lastSelected;&lt;br /&gt;
      public void itemStateChanged(ItemEvent itemEvent) {&lt;br /&gt;
        AbstractButton aButton = (AbstractButton)itemEvent.getSource();&lt;br /&gt;
        int state = itemEvent.getStateChange();&lt;br /&gt;
        String label = aButton.getText();&lt;br /&gt;
        String msgStart;&lt;br /&gt;
        if (state == ItemEvent.SELECTED) {&lt;br /&gt;
          if (label.equals(lastSelected)) {&lt;br /&gt;
            msgStart = &amp;quot;Reselected -&amp;gt; &amp;quot;;&lt;br /&gt;
          }  else {&lt;br /&gt;
           msgStart = &amp;quot;Selected -&amp;gt; &amp;quot;;&lt;br /&gt;
          }&lt;br /&gt;
          lastSelected = label;&lt;br /&gt;
        }  else {&lt;br /&gt;
          msgStart = &amp;quot;Deselected -&amp;gt; &amp;quot;;&lt;br /&gt;
        }&lt;br /&gt;
        System.out.println(msgStart + label);&lt;br /&gt;
      }&lt;br /&gt;
    };&lt;br /&gt;
    panel.add(aRadioButton);&lt;br /&gt;
    group.add(aRadioButton);&lt;br /&gt;
    panel.add(bRadioButton);&lt;br /&gt;
    group.add(bRadioButton);&lt;br /&gt;
    aRadioButton.addItemListener(itemListener);&lt;br /&gt;
    bRadioButton.addItemListener(itemListener);&lt;br /&gt;
    frame.add(panel);&lt;br /&gt;
    frame.setSize(300, 200);&lt;br /&gt;
    frame.setVisible(true);&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Reference to the last selected item and check for reselection ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.awt.GridLayout;&lt;br /&gt;
import java.awt.event.ActionEvent;&lt;br /&gt;
import java.awt.event.ActionListener;&lt;br /&gt;
import javax.swing.AbstractButton;&lt;br /&gt;
import javax.swing.ButtonGroup;&lt;br /&gt;
import javax.swing.JFrame;&lt;br /&gt;
import javax.swing.JPanel;&lt;br /&gt;
import javax.swing.JRadioButton;&lt;br /&gt;
public class JRadioButtonActionListenerSelectedItem {&lt;br /&gt;
  public static void main(String args[]) {&lt;br /&gt;
    JFrame frame = new JFrame(&amp;quot;Grouping Example&amp;quot;);&lt;br /&gt;
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);&lt;br /&gt;
    JPanel panel = new JPanel(new GridLayout(0, 1));&lt;br /&gt;
    ButtonGroup group = new ButtonGroup();&lt;br /&gt;
    JRadioButton aRadioButton = new JRadioButton(&amp;quot;A&amp;quot;);&lt;br /&gt;
    JRadioButton bRadioButton = new JRadioButton(&amp;quot;B&amp;quot;);&lt;br /&gt;
    ActionListener crustActionListener = new ActionListener() {&lt;br /&gt;
      String lastSelected;&lt;br /&gt;
      public void actionPerformed(ActionEvent actionEvent) {&lt;br /&gt;
        AbstractButton aButton = (AbstractButton) actionEvent.getSource();&lt;br /&gt;
        String label = aButton.getText();&lt;br /&gt;
        String msgStart;&lt;br /&gt;
        if (label.equals(lastSelected)) {&lt;br /&gt;
          msgStart = &amp;quot;Reselected: &amp;quot;;&lt;br /&gt;
        } else {&lt;br /&gt;
          msgStart = &amp;quot;Selected: &amp;quot;;&lt;br /&gt;
        }&lt;br /&gt;
        lastSelected = label;&lt;br /&gt;
        System.out.println(msgStart + label);&lt;br /&gt;
      }&lt;br /&gt;
    };&lt;br /&gt;
    panel.add(aRadioButton);&lt;br /&gt;
    group.add(aRadioButton);&lt;br /&gt;
    panel.add(bRadioButton);&lt;br /&gt;
    group.add(bRadioButton);&lt;br /&gt;
    aRadioButton.addActionListener(crustActionListener);&lt;br /&gt;
    bRadioButton.addActionListener(crustActionListener);&lt;br /&gt;
    frame.add(panel);&lt;br /&gt;
    frame.setSize(300, 200);&lt;br /&gt;
    frame.setVisible(true);&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Using JRadioButton ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.awt.FlowLayout;&lt;br /&gt;
import javax.swing.ButtonGroup;&lt;br /&gt;
import javax.swing.JFrame;&lt;br /&gt;
import javax.swing.JLabel;&lt;br /&gt;
import javax.swing.JRadioButton;&lt;br /&gt;
public class JRadioButtonTest {&lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
    JFrame.setDefaultLookAndFeelDecorated(true);&lt;br /&gt;
    JFrame frame = new JFrame(&amp;quot;JRadioButton Test&amp;quot;);&lt;br /&gt;
    frame.setLayout(new FlowLayout());&lt;br /&gt;
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);&lt;br /&gt;
    JRadioButton button1 = new JRadioButton(&amp;quot;Red&amp;quot;);&lt;br /&gt;
    JRadioButton button2 = new JRadioButton(&amp;quot;Green&amp;quot;);&lt;br /&gt;
    JRadioButton button3 = new JRadioButton(&amp;quot;Blue&amp;quot;);&lt;br /&gt;
    ButtonGroup colorButtonGroup = new ButtonGroup();&lt;br /&gt;
    colorButtonGroup.add(button1);&lt;br /&gt;
    colorButtonGroup.add(button2);&lt;br /&gt;
    colorButtonGroup.add(button3);&lt;br /&gt;
    button1.setSelected(true);&lt;br /&gt;
    frame.add(new JLabel(&amp;quot;Color:&amp;quot;));&lt;br /&gt;
    frame.add(button1);&lt;br /&gt;
    frame.add(button2);&lt;br /&gt;
    frame.add(button3);&lt;br /&gt;
    frame.pack();&lt;br /&gt;
    frame.setVisible(true);&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>