Module java.desktop
Package javax.swing

Class JRadioButtonMenuItem

java.lang.Object
All Implemented Interfaces:
ImageObserver, ItemSelectable, MenuContainer, Serializable, Accessible, MenuElement, SwingConstants

@JavaBean(description="A component within a group of menu items which can be selected.") public class JRadioButtonMenuItem extends JMenuItem implements Accessible
An implementation of a radio button menu item. A JRadioButtonMenuItem is a menu item that is part of a group of menu items in which only one item in the group can be selected. The selected item displays its selected state. Selecting it causes any other selected item to switch to the unselected state. To control the selected state of a group of radio button menu items, use a ButtonGroup object.

Menu items can be configured, and to some degree controlled, by Actions. Using an Action with a menu item has many benefits beyond directly configuring a menu item. Refer to Swing Components Supporting Action for more details, and you can find more information in How to Use Actions, a section in The Java Tutorial.

Some menus can have several button groups with radio button menu items. In this case it is useful that clicking on one radio button menu item does not close the menu. Such behavior can be controlled either by client JComponent.putClientProperty(java.lang.Object, java.lang.Object) or the Look and Feel UIManager.put(java.lang.Object, java.lang.Object) property named "RadioButtonMenuItem.doNotCloseOnMouseClick". The default value is false. Setting the property to true prevents the menu from closing when it is clicked by the mouse. If the client property is set its value is always used; otherwise the L&F property is queried. Note: some L&Fs may ignore this property. All built-in L&Fs inherit this behaviour.

For further documentation and examples see How to Use Menus, a section in The Java Tutorial.

Warning: Swing is not thread safe. For more information see Swing's Threading Policy.

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 JavaBeans has been added to the java.beans package. Please see XMLEncoder.

Since:
1.2
See Also: