FileDocCategorySizeDatePackage
JRadioButton.javaAPI DocJava SE 5 API10870Fri Aug 26 14:57:56 BST 2005javax.swing

JRadioButton

public class JRadioButton extends JToggleButton implements Accessible
An implementation of a radio button -- an item that can be selected or deselected, and which displays its state to the user. Used with a {@link ButtonGroup} object to create a group of buttons in which only one button at a time can be selected. (Create a ButtonGroup object and use its add method to include the JRadioButton objects in the group.)
Note: The ButtonGroup object is a logical grouping -- not a physical grouping. Tocreate a button panel, you should still create a {@link JPanel} or similar container-object and add a {@link javax.swing.border.Border} to it to set it off from surrounding components.

See How to Use Buttons, Check Boxes, and Radio Buttons in The Java Tutorial for further documentation.

Warning: Serialized objects of this class will not be compatible with future Swing releases. The current serialization support is appropriate for short term storage or RMI between applications running the same version of Swing. As of 1.4, support for long term storage of all JavaBeansTM has been added to the java.beans package. Please see {@link java.beans.XMLEncoder}.

beaninfo
attribute: isContainer false description: A component which can display it's state as selected or deselected.
see
ButtonGroup
see
JCheckBox
version
1.74 12/19/03
author
Jeff Dinkins

Fields Summary
private static final String
uiClassID
Constructors Summary
public JRadioButton()
Creates an initially unselected radio button with no set text.



                   
       
        this(null, null, false);
    
public JRadioButton(Icon icon)
Creates an initially unselected radio button with the specified image but no text.

param
icon the image that the button should display

        this(null, icon, false);
    
public JRadioButton(Action a)
Creates a radiobutton where properties are taken from the Action supplied.

since
1.3

        this();
	setAction(a);
    
public JRadioButton(Icon icon, boolean selected)
Creates a radio button with the specified image and selection state, but no text.

param
icon the image that the button should display
param
selected if true, the button is initially selected; otherwise, the button is initially unselected

        this(null, icon, selected);
    
public JRadioButton(String text)
Creates an unselected radio button with the specified text.

param
text the string displayed on the radio button

        this(text, null, false);
    
public JRadioButton(String text, boolean selected)
Creates a radio button with the specified text and selection state.

param
text the string displayed on the radio button
param
selected if true, the button is initially selected; otherwise, the button is initially unselected

        this(text, null, selected);
    
public JRadioButton(String text, Icon icon)
Creates a radio button that has the specified text and image, and that is initially unselected.

param
text the string displayed on the radio button
param
icon the image that the button should display

        this(text, icon, false);
    
public JRadioButton(String text, Icon icon, boolean selected)
Creates a radio button that has the specified text, image, and selection state.

param
text the string displayed on the radio button
param
icon the image that the button should display

        super(text, icon, selected);
        setBorderPainted(false);
        setHorizontalAlignment(LEADING);
    
Methods Summary
protected voidconfigurePropertiesFromAction(javax.swing.Action a)
Factory method which sets the ActionEvent source's properties according to values from the Action instance. The properties which are set may differ for subclasses. By default, the properties which get set are Text, Mnemonic, Enabled, ActionCommand, and ToolTipText.

param
a the Action from which to get the properties, or null
since
1.3
see
Action
see
#setAction

        String[] types = { Action.MNEMONIC_KEY, Action.NAME,
                           Action.SHORT_DESCRIPTION,
                           Action.ACTION_COMMAND_KEY, "enabled" };
        configurePropertiesFromAction(a, types);
    
protected java.beans.PropertyChangeListenercreateActionPropertyChangeListener(javax.swing.Action a)
Factory method which creates the PropertyChangeListener used to update the ActionEvent source as properties change on its Action instance. Subclasses may override this in order to provide their own PropertyChangeListener if the set of properties which should be kept up to date differs from the default properties (Text, Icon, Enabled, ToolTipText). Note that PropertyChangeListeners should avoid holding strong references to the ActionEvent source, as this may hinder garbage collection of the ActionEvent source and all components in its containment hierarchy.

since
1.3
see
Action
see
#setAction

        return new AbstractActionPropertyChangeListener(this, a) {
	    public void propertyChange(PropertyChangeEvent e) {	    
		String propertyName = e.getPropertyName();
		AbstractButton button = (AbstractButton)getTarget();
		if (button == null) {   //WeakRef GC'ed in 1.2
		    Action action = (Action)e.getSource();
		    action.removePropertyChangeListener(this);
		} else {
		    if (propertyName.equals(Action.NAME)) {
			String text = (String) e.getNewValue();
			button.setText(text);
			button.repaint();
		    } else if (propertyName.equals(Action.SHORT_DESCRIPTION)) {
			String text = (String) e.getNewValue();
			button.setToolTipText(text);
		    } else if (propertyName.equals("enabled")) {
			Boolean enabledState = (Boolean) e.getNewValue();
			button.setEnabled(enabledState.booleanValue());
			button.repaint();
                    } else if (propertyName.equals(Action.ACTION_COMMAND_KEY)) {
                        button.setActionCommand((String)e.getNewValue());
		    } 
		}
	    }
	};
    
public javax.accessibility.AccessibleContextgetAccessibleContext()
Gets the AccessibleContext associated with this JRadioButton. For JRadioButtons, the AccessibleContext takes the form of an AccessibleJRadioButton. A new AccessibleJRadioButton instance is created if necessary.

return
an AccessibleJRadioButton that serves as the AccessibleContext of this JRadioButton
beaninfo
expert: true description: The AccessibleContext associated with this Button

        if (accessibleContext == null) {
            accessibleContext = new AccessibleJRadioButton();
        }
        return accessibleContext;
    
public java.lang.StringgetUIClassID()
Returns the name of the L&F class that renders this component.

return
String "RadioButtonUI"
see
JComponent#getUIClassID
see
UIDefaults#getUI
beaninfo
expert: true description: A string that specifies the name of the L&F class.

        return uiClassID;
    
protected java.lang.StringparamString()
Returns a string representation of this JRadioButton. This method is intended to be used only for debugging purposes, and the content and format of the returned string may vary between implementations. The returned string may be empty but may not be null.

return
a string representation of this JRadioButton.

	return super.paramString();
    
public voidupdateUI()
Resets the UI property to a value from the current look and feel.

see
JComponent#updateUI

        setUI((ButtonUI)UIManager.getUI(this));
    
private voidwriteObject(java.io.ObjectOutputStream s)
See readObject() and writeObject() in JComponent for more information about serialization in Swing.

        s.defaultWriteObject();
        if (getUIClassID().equals(uiClassID)) {
            byte count = JComponent.getWriteObjCounter(this);
            JComponent.setWriteObjCounter(this, --count);
            if (count == 0 && ui != null) {
                ui.installUI(this);
            }
        }