- All Implemented Interfaces:
Styleable,EventTarget,Toggle
A RadioMenuItem is a MenuItem that can be toggled (it uses
the Toggle mixin). This means that
RadioMenuItem has an API very similar in nature to other controls that use
Toggle, such as
RadioButton and
ToggleButton. RadioMenuItem is
specifically designed for use within a Menu, so refer to that class
API documentation for more information on how to add a RadioMenuItem into it.
To create a simple, ungrouped RadioMenuItem, do the following:
RadioMenuItem radioItem = new RadioMenuItem("radio text");
radioItem.setSelected(false);
radioItem.setOnAction(e -> System.out.println("radio toggled"));
The problem with the example above is that this offers no benefit over using
a normal MenuItem. As already mentioned, the purpose of a
RadioMenuItem is to offer
multiple choices to the user, and only allow for one of these choices to be
selected at any one time (i.e. the selection should be mutually exclusive).
To achieve this, you can place zero or more RadioMenuItem's into groups. When
in groups, only one RadioMenuItem at a time within that group can be selected.
To put two RadioMenuItem instances into the same group, simply assign them
both the same value for toggleGroup. For example:
ToggleGroup toggleGroup = new ToggleGroup();
RadioMenuItem radioItem1 = new RadioMenuItem("Option 1");
radioItem1.setOnAction(e -> System.out.println("radio1 toggled"));
radioItem1.setToggleGroup(toggleGroup);
RadioMenuItem radioItem2 = new RadioMenuItem("Option 2");
radioItem2.setOnAction(e -> System.out.println("radio2 toggled"));
radioItem2.setToggleGroup(toggleGroup);
Menu menu = new Menu("Selection");
menu.getItems().addAll(radioItem1, radioItem2);
MenuBar menuBar = new MenuBar(menu);
In this example, with both RadioMenuItem's assigned to the same
ToggleGroup, only one item may be
selected at any one time, and should
the selection change, the ToggleGroup will take care of deselecting the
previous item.
- Since:
- JavaFX 2.0
- See Also:
-
Property Summary
PropertiesTypePropertyDescriptionfinal BooleanPropertyThe selected state for thisToggle.final ObjectProperty<ToggleGroup> Represents theToggleGroupthat this RadioMenuItem belongs to.Properties declared in class javafx.scene.control.MenuItem
accelerator, disable, graphic, id, mnemonicParsing, onAction, onMenuValidation, parentMenu, parentPopup, style, text, visible -
Field Summary
Fields declared in class javafx.scene.control.MenuItem
MENU_VALIDATION_EVENT -
Constructor Summary
ConstructorsConstructorDescriptionConstructs a RadioMenuItem with no display text.RadioMenuItem(String text) Constructs a RadioMenuItem and sets the display text with the specified text.RadioMenuItem(String text, Node graphic) Constructs a RadioMenuItem and sets the display text with the specified text and sets the graphicNodeto the given node. -
Method Summary
Modifier and TypeMethodDescriptionfinal ToggleGroupGets the value of thetoggleGroupproperty.final booleanGets the value of theselectedproperty.final BooleanPropertyThe selected state for thisToggle.final voidsetSelected(boolean value) Sets the value of theselectedproperty.final voidsetToggleGroup(ToggleGroup value) Sets the value of thetoggleGroupproperty.final ObjectProperty<ToggleGroup> Represents theToggleGroupthat this RadioMenuItem belongs to.Methods declared in class javafx.scene.control.MenuItem
acceleratorProperty, buildEventDispatchChain, disableProperty, fire, getAccelerator, getCssMetaData, getGraphic, getId, getOnAction, getOnMenuValidation, getParentMenu, getParentPopup, getProperties, getPseudoClassStates, getStyle, getStyleableParent, getStyleClass, getText, getTypeSelector, getUserData, graphicProperty, idProperty, isDisable, isMnemonicParsing, isVisible, mnemonicParsingProperty, onActionProperty, onMenuValidationProperty, parentMenuProperty, parentPopupProperty, setAccelerator, setDisable, setGraphic, setId, setMnemonicParsing, setOnAction, setOnMenuValidation, setParentMenu, setParentPopup, setStyle, setText, setUserData, setVisible, styleProperty, textProperty, visiblePropertyMethods declared in class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods declared in interface javafx.event.EventTarget
addEventFilter, addEventHandler, removeEventFilter, removeEventHandlerMethods declared in interface javafx.css.Styleable
getStyleableNodeMethods declared in interface javafx.scene.control.Toggle
getProperties, getUserData, setUserData
-
Property Details
-
toggleGroup
Represents theToggleGroupthat this RadioMenuItem belongs to.- Specified by:
toggleGroupPropertyin interfaceToggle- Returns:
- the toggle group property
- See Also:
-
selected
- Specified by:
selectedPropertyin interfaceToggle- Returns:
- the selected property
- See Also:
-
-
Constructor Details
-
RadioMenuItem
public RadioMenuItem()Constructs a RadioMenuItem with no display text. -
RadioMenuItem
Constructs a RadioMenuItem and sets the display text with the specified text.- Parameters:
text- the display text
-
RadioMenuItem
Constructs a RadioMenuItem and sets the display text with the specified text and sets the graphicNodeto the given node.- Parameters:
text- the display textgraphic- the graphic node
-
-
Method Details
-
setToggleGroup
Sets the value of thetoggleGroupproperty.- Specified by:
setToggleGroupin interfaceToggle- Property description:
- Represents the
ToggleGroupthat this RadioMenuItem belongs to. - Parameters:
value- the value for thetoggleGroupproperty- See Also:
-
getToggleGroup
Gets the value of thetoggleGroupproperty.- Specified by:
getToggleGroupin interfaceToggle- Property description:
- Represents the
ToggleGroupthat this RadioMenuItem belongs to. - Returns:
- the value of the
toggleGroupproperty - See Also:
-
toggleGroupProperty
Represents theToggleGroupthat this RadioMenuItem belongs to.- Specified by:
toggleGroupPropertyin interfaceToggle- Returns:
- the
toggleGroupproperty - See Also:
-
setSelected
public final void setSelected(boolean value) Sets the value of theselectedproperty.- Specified by:
setSelectedin interfaceToggle- Property description:
- Parameters:
value- the value for theselectedproperty- See Also:
-
isSelected
public final boolean isSelected()Gets the value of theselectedproperty.- Specified by:
isSelectedin interfaceToggle- Property description:
- Returns:
- the value of the
selectedproperty - See Also:
-
selectedProperty
Description copied from interface:ToggleThe selected state for thisToggle.- Specified by:
selectedPropertyin interfaceToggle- Returns:
- the
selectedproperty - See Also:
-