Spec-Zone.ru › OpenJavaFX 17

Класс RadioMenuItem

java.lang.Object
javafx.scene.control.MenuItem
javafx.scene.control.RadioMenuItem
Все реализуемые интерфейсы:
Styleable, EventTarget, Toggle
public class RadioMenuItem
extends MenuItem
implements Toggle

RadioMenuItem — это MenuItem, который можно переключать (он использует миксин Toggle). Это означает, что RadioMenuItem имеет API, очень похожий по своей природе на другие элементы управления, использующие Toggle, такие как RadioButton и ToggleButton. RadioMenuItem специально разработан для использования в пределах Menu, поэтому для получения дополнительной информации о том, как добавить RadioMenuItem в него, обратитесь к документации API этого класса.

Чтобы создать простой, не сгруппированный RadioMenuItem, выполните следующие действия:

RadioMenuItem radioItem = new RadioMenuItem("radio text");
radioItem.setSelected(false);
radioItem.setOnAction(e -> System.out.println("radio toggled"));

Проблема с приведенным выше примером заключается в том, что это не дает никаких преимуществ по сравнению с использованием обычного MenuItem. Как уже упоминалось, цель RadioMenuItem — предложить пользователю несколько вариантов и позволить выбрать только один из них в любое время (т.е. выбор должен быть взаимоисключающим). Для достижения этой цели вы можете поместить ноль или более RadioMenuItem в группы. При группировании в любой момент времени в пределах группы может быть выбран только один RadioMenuItem. Чтобы поместить два экземпляра RadioMenuItem в одну группу, просто присвойте им оба одинаковое значение для toggleGroup. Например:

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);
Image of the RadioMenuItem control

В этом примере, с обоими RadioMenuItem, присвоенными той же группе ToggleGroup, только один элемент может быть выбран в любое время, и если выбор изменится, ToggleGroup позаботится о деактивации предыдущего элемента.

С:
JavaFX 2.0
См. также:
MenuItem, Menu

Краткое описание свойств

Свойства, объявленные в классе javafx.scene.control.MenuItem

accelerator, disable, graphic, id, mnemonicParsing, onAction, onMenuValidation, parentMenu, parentPopup, style, text, visible

Свойства, объявленные в интерфейсе javafx.scene.control.Toggle

selected, toggleGroup

Краткое описание полей

Поля, объявленные в классе javafx.scene.control.MenuItem

MENU_VALIDATION_EVENT

Краткое описание конструкторов

Конструкторы
Конструктор Описание
RadioMenuItem()
Создает RadioMenuItem без текста отображения.
RadioMenuItem​(String text)
Создает RadioMenuItem и устанавливает текст отображения с указанным текстом.
RadioMenuItem​(String text, Node graphic)
Создает RadioMenuItem и устанавливает текст отображения с указанным текстом и устанавливает графический элемент Node на заданный узел.

Краткое описание методов

Методы, объявленные в классе javafx.scene.control.MenuItem

acceleratorProperty, addEventHandler, disableProperty, fire, getAccelerator, getGraphic, getOnAction, getOnMenuValidation, getParentMenu, getParentPopup, getProperties, getPseudoClassStates, getStyleableParent, 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, visibleProperty

Методы, объявленные в классе java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Методы, объявленные в интерфейсе javafx.event.EventTarget

buildEventDispatchChain

Методы, объявленные в интерфейсе javafx.css.Styleable

getCssMetaData, getId, getStyle, getStyleableNode, getStyleClass

Методы, объявленные в интерфейсе javafx.scene.control.Toggle

getProperties, getToggleGroup, getUserData, isSelected, selectedProperty, setSelected, setToggleGroup, setUserData, toggleGroupProperty

Подробное описание конструкторов

RadioMenuItem

public RadioMenuItem()
Создает RadioMenuItem без текста отображения.

RadioMenuItem

public RadioMenuItem(String text)
Создает RadioMenuItem и устанавливает текст отображения с указанным текстом.
Параметры:
text - текст отображения

RadioMenuItem

public RadioMenuItem(String text, Node graphic)
Создает RadioMenuItem и устанавливает текст отображения с указанным текстом и устанавливает графический элемент Node на заданный узел.
Параметры:
text - текст отображения
graphic - графический узел

© 2008, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from JavaFX API Documentation.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Java, JavaFX and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API