- 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可以切换(它使用Togglemixin)。 这意味着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的相同值。 例如:在这个例子中,由于RadioMenuItem的两个分配给相同的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 描述 BooleanPropertyselected选择状态为这个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 方法 描述 ToggleGroupgetToggleGroup()获取属性toggleGroup的值。booleanisSelected()获取所选属性的值。BooleanPropertyselectedProperty()该选择的状态为Toggle。voidsetSelected(boolean value)设置所选属性的值。voidsetToggleGroup(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)
-
-