Module java.desktop
Package javax.swing

Class JRadioButtonMenuItem

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:
ButtonGroup
  • Constructor Details

    • JRadioButtonMenuItem

      public JRadioButtonMenuItem()
      Creates a JRadioButtonMenuItem with no set text or icon.
    • JRadioButtonMenuItem

      public JRadioButtonMenuItem​(Icon icon)
      Creates a JRadioButtonMenuItem with an icon.
      Parameters:
      icon - the Icon to display on the JRadioButtonMenuItem
    • JRadioButtonMenuItem

      public JRadioButtonMenuItem​(String text)
      Creates a JRadioButtonMenuItem with text.
      Parameters:
      text - the text of the JRadioButtonMenuItem
    • JRadioButtonMenuItem

      public JRadioButtonMenuItem​(Action a)
      Creates a radio button menu item whose properties are taken from the Action supplied.
      Parameters:
      a - the Action on which to base the radio button menu item
      Since:
      1.3
    • JRadioButtonMenuItem

      public JRadioButtonMenuItem​(String text, Icon icon)
      Creates a radio button menu item with the specified text and Icon.
      Parameters:
      text - the text of the JRadioButtonMenuItem
      icon - the icon to display on the JRadioButtonMenuItem
    • JRadioButtonMenuItem

      public JRadioButtonMenuItem​(String text, boolean selected)
      Creates a radio button menu item with the specified text and selection state.
      Parameters:
      text - the text of the CheckBoxMenuItem
      selected - the selected state of the CheckBoxMenuItem
    • JRadioButtonMenuItem

      public JRadioButtonMenuItem​(Icon icon, boolean selected)
      Creates a radio button menu item with the specified image and selection state, but no text.
      Parameters:
      icon - the image that the button should display
      selected - if true, the button is initially selected; otherwise, the button is initially unselected
    • JRadioButtonMenuItem

      public JRadioButtonMenuItem​(String text, Icon icon, boolean selected)
      Creates a radio button menu item that has the specified text, image, and selection state. All other constructors defer to this one.
      Parameters:
      text - the string displayed on the radio button
      icon - the image that the button should display
      selected - if true, the button is initially selected, otherwise, the button is initially unselected
  • Method Details

    • getUIClassID

      @BeanProperty(bound=false) public String getUIClassID()
      Returns the name of the L&F class that renders this component.
      Overrides:
      getUIClassID in class JMenuItem
      Returns:
      the string "RadioButtonMenuItemUI"
      See Also:
      JComponent.getUIClassID(), UIDefaults.getUI(javax.swing.JComponent)
    • paramString

      protected String paramString()
      Returns a string representation of this JRadioButtonMenuItem. 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.
      Overrides:
      paramString in class JMenuItem
      Returns:
      a string representation of this JRadioButtonMenuItem
    • getAccessibleContext

      @BeanProperty(bound=false) public AccessibleContext getAccessibleContext()
      Gets the AccessibleContext associated with this JRadioButtonMenuItem. For JRadioButtonMenuItems, the AccessibleContext takes the form of an AccessibleJRadioButtonMenuItem. A new AccessibleJRadioButtonMenuItem instance is created if necessary.
      Specified by:
      getAccessibleContext in interface Accessible
      Overrides:
      getAccessibleContext in class JMenuItem
      Returns:
      an AccessibleJRadioButtonMenuItem that serves as the AccessibleContext of this JRadioButtonMenuItem