Radio buttons behave in the same mutually exclusive way in Swing and the AWT. However, the way that you create a set of radio buttons differs significantly between Swing and the AWT. To create a set of radio buttons in Swing, you must instantiate the buttons, instantiate a ButtonGroup object, and add the buttons to the ButtonGroup object. With the AWT, you must create a group object and pass it to the constructor for the buttons when they are instantiated. This code was tested using JDK1.1.6 and Swing 1.0.3 under Win95.
import java.awt.*;
import java.awt.event.*;
import java.util.*;
import com.sun.java.swing.*;
//=======================================================//
public class SwingRadioButton01 extends JFrame{
public static void main(String[] args){
new SwingRadioButton01();
}//end main
SwingRadioButton01(){//constructor
//Create three radio buttons
JRadioButton aButton = new JRadioButton("A",true);
JRadioButton bButton = new JRadioButton("B");
JRadioButton cButton = new JRadioButton("C");
//Create a ButtonGroup object, add buttons to the group
ButtonGroup myButtonGroup = new ButtonGroup();
myButtonGroup.add(aButton);
myButtonGroup.add(bButton);
myButtonGroup.add(cButton);
//Display radio buttons
getContentPane().setLayout(new FlowLayout());
getContentPane().add(aButton);
getContentPane().add(bButton);
getContentPane().add(cButton);
setSize(250,100);
setTitle("Swing Radio Buttons");
setVisible(true);
// Inner class to terminate program.
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);}});//end WindowListener
}//end constructor
}//end class SwingRadioButton01 definition
Richard G. Baldwin
If you have a hot tip and we publish it, we'll pay you. However, due to accounting overhead we no longer pay $10 for a single tip submission. You must accumulate 10 acceptable tips to receive payment. Be sure to include a clear explanation of what the technique does and why it's useful. If it includes code, limit it to 20 lines if possible.
Submit your tip here.