- java.lang.Object
-
- javafx.scene.control.MenuItem
-
- javafx.scene.control.RadioMenuItem
-
- All Implemented Interfaces:
-
Styleable
,EventTarget
,Toggle
public class RadioMenuItem extends MenuItem implements Toggle
RadioMenuItem是一个
MenuItem
可以切换(它使用Toggle
mixin)。 这意味着RadioMenuItem的API性质与使用Toggle
的其他控件(如RadioButton
和ToggleButton
)非常相似。 RadioMenuItem专门设计用于Menu
,因此请参考该类API文档以获取有关如何在其中添加RadioMenuItem的更多信息。要创建一个简单的,未分组的RadioMenuItem,请执行以下操作:
RadioMenuItem radioItem = new RadioMenuItem("radio text"); radioItem.setSelected(false); radioItem.setOnAction(new EventHandler<ActionEvent>() { @Override public void handle(ActionEvent e) { System.out.println("radio toggled"); } });
上述示例的问题是,这不利于使用普通菜单项。 如前所述,RadioMenuItem的目的是为用户提供多种选择,并且只允许在任何一个时间选择这些选择之一(即选择应该是相互排斥的 )。 要实现这一点,您可以将零个或多个RadioMenuItem放入组中。 在组中,可以选择该组内每次只有一个RadioMenuItem。 要将两个RadioMenuItem实例放入同一个组,只需为它们分配
toggleGroup
的相同值。 例如:ToggleGroup toggleGroup = new ToggleGroup(); RadioMenuItem radioItem1 = new RadioMenuItem("Option 1"); radioItem.setOnAction(new EventHandler<ActionEvent>() { @Override public void handle(ActionEvent e) { System.out.println("radio toggled"); } }); radioItem1.setToggleGroup(toggleGroup); RadioMenuItem radioItem2 = new RadioMenuItem("Option 2"); radioItem.setOnAction(new EventHandler<ActionEvent>() { @Override public void handle(ActionEvent e) { System.out.println("radio toggled"); } }); radioItem2.setToggleGroup(toggleGroup);
ToggleGroup
,所以在任何一个时间只能选择一个项目,如果选择更改,则ToggleGroup将会关闭取消选择上一个项目。
-
-
Property Summary
Properties Type Property 描述 BooleanProperty
selected
选择状态为这个Toggle
。ObjectProperty<ToggleGroup>
toggleGroup
代表这个RadioMenuItem所属的ToggleGroup
。-
Properties inherited from class javafx.scene.control.MenuItem
accelerator, disable, graphic, id, mnemonicParsing, onAction, onMenuValidation, parentMenu, parentPopup, style, text, visible
-
-
Field Summary
-
Fields inherited from class javafx.scene.control.MenuItem
MENU_VALIDATION_EVENT
-
-
构造方法摘要
构造方法 Constructor 描述 RadioMenuItem()
构造一个没有显示文本的RadioMenuItem。RadioMenuItem(String text)
构造一个RadioMenuItem并设置指定文本的显示文本。RadioMenuItem(String text, Node graphic)
构造一个RadioMenuItem,并使用指定的文本设置显示文本,并将图形Node
设置为给定节点。
-
方法摘要
所有方法 接口方法 具体的方法 Modifier and Type 方法 描述 ToggleGroup
getToggleGroup()
获取属性toggleGroup的值。boolean
isSelected()
获取所选属性的值。BooleanProperty
selectedProperty()
该选择的状态为Toggle
。void
setSelected(boolean value)
设置所选属性的值。void
setToggleGroup(ToggleGroup value)
设置属性toggleGroup的值。ObjectProperty<ToggleGroup>
toggleGroupProperty()
代表这个RadioMenuItem所属的ToggleGroup
。-
Methods inherited from class javafx.scene.control.MenuItem
acceleratorProperty, addEventHandler, buildEventDispatchChain, disableProperty, fire, getAccelerator, getCssMetaData, getGraphic, getId, getOnAction, getOnMenuValidation, getParentMenu, getParentPopup, getProperties, getPseudoClassStates, getStyle, getStyleableNode, getStyleableParent, getStyleClass, getText, getTypeSelector, getUserData, graphicProperty, idProperty, isDisable, isMnemonicParsing, isVisible, mnemonicParsingProperty, onActionProperty, onMenuValidationProperty, parentMenuProperty, parentPopupProperty, removeEventHandler, setAccelerator, setDisable, setGraphic, setId, setMnemonicParsing, setOnAction, setOnMenuValidation, setParentMenu, setParentPopup, setStyle, setText, setUserData, setVisible, styleProperty, textProperty, toString, visibleProperty
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface javafx.scene.control.Toggle
getProperties, getUserData, setUserData
-
-
-
-
Property Detail
-
toggleGroup
public final ObjectProperty<ToggleGroup> toggleGroupProperty
代表这个RadioMenuItem所属的ToggleGroup
。- Specified by:
-
toggleGroupProperty
在接口Toggle
- 另请参见:
-
getToggleGroup()
,setToggleGroup(ToggleGroup)
-
selected
public final BooleanProperty selectedProperty
- Specified by:
-
selectedProperty
在接口Toggle
- 另请参见:
-
isSelected()
,setSelected(boolean)
-
-
构造方法详细信息
-
RadioMenuItem
public RadioMenuItem()
构造一个没有显示文本的RadioMenuItem。
-
RadioMenuItem
public RadioMenuItem(String text)
构造一个RadioMenuItem并设置指定文本的显示文本。- 参数
-
text
- 显示文字
-
-
方法详细信息
-
setToggleGroup
public final void setToggleGroup(ToggleGroup value)
设置属性toggleGroup的值。- Specified by:
-
setToggleGroup
在接口Toggle
- Property description:
-
代表这个RadioMenuItem所属的
ToggleGroup
。 - 参数
-
value
- 新的ToggleGroup
。
-
getToggleGroup
public final ToggleGroup getToggleGroup()
获取属性toggleGroup的值。- Specified by:
-
getToggleGroup
在接口Toggle
- Property description:
-
代表这个RadioMenuItem所属的
ToggleGroup
。 - 结果
-
该
ToggleGroup
到这个Toggle
所属。
-
toggleGroupProperty
public final ObjectProperty<ToggleGroup> toggleGroupProperty()
代表这个RadioMenuItem所属的ToggleGroup
。- Specified by:
-
toggleGroupProperty
在接口Toggle
- 另请参见:
-
getToggleGroup()
,setToggleGroup(ToggleGroup)
-
setSelected
public final void setSelected(boolean value)
设置所选属性的值。- Specified by:
-
setSelected
在接口Toggle
- Property description:
- 参数
-
value
-true
以使此Toggle
被选中。
-
isSelected
public final boolean isSelected()
获取所选属性的值。- Specified by:
-
isSelected
在接口Toggle
- Property description:
- 结果
-
true
如果这个Toggle
被选中。
-
selectedProperty
public final BooleanProperty selectedProperty()
描述从接口Toggle
复制该选择状态为Toggle
。- Specified by:
-
selectedProperty
接口Toggle
- 另请参见:
-
isSelected()
,setSelected(boolean)
-
-