Класс Menu
- javafx.scene.control.MenuItem
-
- javafx.scene.control.Menu
Все реализованные интерфейсы:
@DefaultProperty(value="items") public class Menu extends MenuItem
Появившееся меню с действиями, отображаемое пользователю только по запросу. Когда меню отображается, в большинстве случаев пользователь может выбрать один пункт меню, прежде чем меню вернется в скрытое состояние. Это означает, что меню — хорошее место для размещения важной функциональности, которая не обязательно должна быть постоянно видна пользователю.
Меню обычно размещаются в MenuBar или как подменю другого меню. Если целью является отображение контекстного меню при нажатии правой кнопкой мыши в определённой области пользовательского интерфейса, то данный элемент управления не подходит. Это происходит потому, что при добавлении Menu в сценуграфику, он будет иметь визуальное представление, что приведет к его отображению на экране. Вместо этого следует использовать ContextMenu в данной ситуации.
Создание меню и вставка его в строку меню проста, как показано ниже:
final Menu menu1 = new Menu("File");
MenuBar menuBar = new MenuBar();
menuBar.getMenus().add(menu1); Меню является подклассом MenuItem, что означает, что его можно вставить в список items ObservableList, создавая подменю:
MenuItem menu12 = new MenuItem("Open");
menu1.getItems().add(menu12); Список элементов ObservableList позволяет вставлять любые объекты типа MenuItem, включая его подклассы Menu, MenuItem, RadioMenuItem, CheckMenuItem, CustomMenuItem и SeparatorMenuItem. Для вставки произвольного Node в меню можно использовать CustomMenuItem. Исключением из этого правила является использование SeparatorMenuItem для вставки разделителя.
-
Краткое описание свойств
Все методыМетоды экземпляровКонкретные методы Тип Свойство и описание ObjectProperty<EventHandler<Event>>onHiddenВызывается сразу после того, как контекстное менюContextMenuбыло скрыто.ObjectProperty<EventHandler<Event>>onHidingВызывается непосредственно перед тем, как контекстное менюContextMenuбудет скрыто.ObjectProperty<EventHandler<Event>>onShowingВызывается непосредственно перед тем, какContextMenuбудет отображено, даже если в меню нет элементов для отображения.ObjectProperty<EventHandler<Event>>onShownВызывается сразу после того, как контекстное менюContextMenuотображено.ReadOnlyBooleanPropertyshowingУказывает, отображается ли в данный момент контекстное менюContextMenu.-
Свойства, унаследованные от класса javafx.scene.control.MenuItem
accelerator, disable, graphic, id, mnemonicParsing, onAction, onMenuValidation, parentMenu, parentPopup, style, text, visible
-
-
Краткое описание полей
Поля Модификатор и тип Поле и описание static EventType<Event>ON_HIDDENВызывается при скрытии контекстного меню для этого меню.static EventType<Event>ON_HIDINGВызывается, когда контекстное меню для этого меню будет скрыто.static EventType<Event>ON_SHOWINGВызывается, когда контекстное меню для этого меню будет отображено.static EventType<Event>ON_SHOWNВызывается, когда контекстное меню для этого меню отображается.-
Поля, унаследованные от класса javafx.scene.control.MenuItem
MENU_VALIDATION_EVENT
-
-
Краткое описание конструкторов
Конструкторы Конструктор и описание Menu()Создает Menu со строкой пустым текстом для отображения.Menu(String text)Создает Menu и устанавливает текст для отображения заданным текстом.Menu(String text, Node graphic)Создает Menu и устанавливает текст для отображения заданным текстом и устанавливает графический элементNodeна заданный узел.Menu(String text, Node graphic, MenuItem... items)
-
Краткое описание методов
Все методыМетоды экземпляровКонкретные методы Модификатор и тип Метод и описание <E extends Event>
voidaddEventHandler(EventType<E> eventType, EventHandler<E> eventHandler)Регистрирует обработчик событий в этом MenuItem.EventDispatchChainbuildEventDispatchChain(EventDispatchChain tail)Строит цепочку обработки событий для этого целевого объекта.ObservableList<MenuItem>getItems()Элементы, отображаемые в этом меню.EventHandler<Event>getOnHidden()Возвращает значение свойства onHidden.EventHandler<Event>getOnHiding()Возвращает значение свойства onHiding.EventHandler<Event>getOnShowing()Возвращает значение свойства onShowing.EventHandler<Event>getOnShown()Возвращает значение свойства onShown.voidhide()Скрывает контекстное менюContextMenu, если оно ранее отображалось, а также любые отображаемые подменю.booleanisShowing()Возвращает значение свойства showing.ObjectProperty<EventHandler<Event>>onHiddenProperty()Вызывается сразу после того, как контекстное менюContextMenuбыло скрыто.ObjectProperty<EventHandler<Event>>onHidingProperty()Вызывается непосредственно перед тем, как контекстное менюContextMenuбудет скрыто.ObjectProperty<EventHandler<Event>>onShowingProperty()Вызывается непосредственно перед тем, какContextMenuбудет отображено, даже если в меню нет элементов для отображения.ObjectProperty<EventHandler<Event>>onShownProperty()Вызывается сразу после того, как контекстное менюContextMenuотображено.<E extends Event>
voidremoveEventHandler(EventType<E> eventType, EventHandler<E> eventHandler)Отменяет регистрацию ранее зарегистрированного обработчика событий из этого MenuItem.voidsetOnHidden(EventHandler<Event> value)Устанавливает значение свойства onHidden.voidsetOnHiding(EventHandler<Event> value)Устанавливает значение свойства onHiding.voidsetOnShowing(EventHandler<Event> value)Устанавливает значение свойства onShowing.voidsetOnShown(EventHandler<Event> value)Устанавливает значение свойства onShown.voidshow()Если Menu не отключен и контекстное менюContextMenuещё не отображается, то это вызовет отображение контекстного менюContextMenu.ReadOnlyBooleanPropertyshowingProperty()Указывает, отображается ли в данный момент контекстное менюContextMenu.-
Методы, унаследованные от класса javafx.scene.control.MenuItem
acceleratorProperty, 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, toString, visibleProperty
-
-
Подробное описание свойства
-
showing
public final ReadOnlyBooleanProperty showingProperty
Указывает, отображается ли в данный моментContextMenu.Значение по умолчанию:
false
См. также:
-
onShowing
public final ObjectProperty<EventHandler<Event>> onShowingProperty
Вызывается непосредственно перед отображениемContextMenu, даже если у меню нет элементов для отображения. Однако следует учитывать, что это не будет вызвано, если у меню нет допустимого узла якоря.См. также:
-
onShown
public final ObjectProperty<EventHandler<Event>> onShownProperty
Вызывается непосредственно после отображенияContextMenu.См. также:
-
onHiding
public final ObjectProperty<EventHandler<Event>> onHidingProperty
Вызывается непосредственно перед скрытиемContextMenu.См. также:
-
onHidden
public final ObjectProperty<EventHandler<Event>> onHiddenProperty
Вызывается непосредственно после скрытияContextMenu.См. также:
-
-
Подробное описание поля
-
ON_SHOWING
public static final EventType<Event> ON_SHOWING
Вызывается, когда контекстное меню для этого меню будет отображено. Однако, если контекстное меню пустое, то оно не будет вызвано.
-
ON_SHOWN
public static final EventType<Event> ON_SHOWN
Вызывается, когда контекстное меню для этого меню отображается. Однако, если контекстное меню пустое, то оно не будет вызвано.
-
ON_HIDING
public static final EventType<Event> ON_HIDING
Вызывается, когда контекстное меню для этого меню будет скрыто. Однако, если контекстное меню пустое, то оно не будет вызвано.
-
ON_HIDDEN
public static final EventType<Event> ON_HIDDEN
Вызывается, когда контекстное меню для этого меню скрыто. Однако, если контекстное меню пустое, то оно не будет вызвано.
-
-
Подробное описание конструктора
-
Menu
public Menu()
Создаёт меню с пустым текстом для отображения.С тех пор:
JavaFX 2.2
-
Menu
public Menu(String text)
Создаёт меню и задаёт текст для отображения с указанным текстом.Параметры:
text- текст, который будет отображаться на кнопке меню
-
Menu
public Menu(String text, Node graphic)Создаёт меню и задаёт текст для отображения с указанным текстом и устанавливает графическийNodeв указанный узел.Параметры:
text- текст, который будет отображаться на кнопке меню
-
-
Подробное описание методов
-
isShowing
public final boolean isShowing()
Возвращает значение свойства showing.Описание свойства:
Указывает, отображается ли в данный момент контекстное меню
ContextMenu.Значение по умолчанию:
false
-
showingProperty
public final ReadOnlyBooleanProperty showingProperty()
Указывает, отображается ли в данный момент контекстное менюContextMenu.Значение по умолчанию:
false
См. также:
-
onShowingProperty
public final ObjectProperty<EventHandler<Event>> onShowingProperty()
Вызывается непосредственно перед отображениемContextMenu, даже если у меню нет элементов для отображения. Однако обратите внимание, что это не будет вызвано, если у меню нет допустимого узла якоря.См. также:
-
setOnShowing
public final void setOnShowing(EventHandler<Event> value)
Устанавливает значение свойства onShowing.Описание свойства:
Вызывается непосредственно перед отображением
ContextMenu, даже если у меню нет элементов для отображения. Однако обратите внимание, что это не будет вызвано, если у меню нет допустимого узла якоря.
-
getOnShowing
public final EventHandler<Event> getOnShowing()
Возвращает значение свойства onShowing.Описание свойства:
Вызывается непосредственно перед отображением
ContextMenu, даже если у меню нет элементов для отображения. Однако обратите внимание, что это не будет вызвано, если у меню нет допустимого узла якоря.
-
onShownProperty
public final ObjectProperty<EventHandler<Event>> onShownProperty()
Вызывается сразу после отображенияContextMenu.См. также:
-
setOnShown
public final void setOnShown(EventHandler<Event> value)
Устанавливает значение свойства onShown.Описание свойства:
Вызывается сразу после отображения
ContextMenu.
-
getOnShown
public final EventHandler<Event> getOnShown()
Возвращает значение свойства onShown.Описание свойства:
Вызывается сразу после отображения
ContextMenu.
-
onHidingProperty
public final ObjectProperty<EventHandler<Event>> onHidingProperty()
Вызывается непосредственно перед скрытиемContextMenu.См. также:
-
setOnHiding
public final void setOnHiding(EventHandler<Event> value)
Устанавливает значение свойства onHiding.Описание свойства:
Вызывается непосредственно перед скрытием
ContextMenu.
-
getOnHiding
public final EventHandler<Event> getOnHiding()
Возвращает значение свойства onHiding.Описание свойства:
Вызывается непосредственно перед скрытием
ContextMenu.
-
onHiddenProperty
public final ObjectProperty<EventHandler<Event>> onHiddenProperty()
Вызывается сразу после скрытияContextMenu.См. также:
-
setOnHidden
public final void setOnHidden(EventHandler<Event> value)
Устанавливает значение свойства onHidden.Описание свойства:
Вызывается сразу после скрытия
ContextMenu.
-
getOnHidden
public final EventHandler<Event> getOnHidden()
Возвращает значение свойства onHidden.Описание свойства:
Вызывается сразу после скрытия
ContextMenu.
-
getItems
public final ObservableList<MenuItem> getItems()
Элементы, которые нужно отобразить в этом меню. Если этот список ObservableList изменяется во время выполнения, меню будет обновляться соответствующим образом.
-
show
public void show()
Если меню не отключено иContextMenuещё не отображается, это приведет к отображениюContextMenu.
-
hide
public void hide()
СкрываетContextMenu, если оно было отображено ранее, а также любые дочерние меню. Если это меню не отображается, вызов этой функции не оказывает никакого влияния.
-
addEventHandler
public <E extends Event> void addEventHandler(EventType<E> eventType, EventHandler<E> eventHandler)Регистрирует обработчик событий для этого пункта меню. Обработчик вызывается, когда элемент меню получает событие указанного типа в фазе всплытия доставки событий.Переопределяет:
addEventHandlerв классеMenuItemПараметры типа:
E— конкретный класс события для обработчикаПараметры:
eventType— тип событий, которые должен получать обработчик
-
removeEventHandler
public <E extends Event> void removeEventHandler(EventType<E> eventType, EventHandler<E> eventHandler)Отменяет регистрацию ранее зарегистрированного обработчика событий для этого пункта меню. Один обработчик может быть зарегистрирован для разных типов событий, поэтому вызывающий объект должен указать конкретный тип события, для отмены регистрации обработчика.Переопределяет:
removeEventHandlerв классеMenuItemПараметры типа:
E— конкретный класс события для обработчикаПараметры:
eventType— тип события, для отмены регистрации
-
buildEventDispatchChain
public EventDispatchChain buildEventDispatchChain(EventDispatchChain tail)
Строит цепочку диспетчеризации событий для этого целевого объекта. Цепочка диспетчеризации событий содержит диспетчеры событий, которые могут быть заинтересованы в обработке событий, направленных на этотEventTarget. Этот целевой объект не добавляется в цепочку автоматически, поэтому, если он хочет обрабатывать события, ему необходимо добавить своегоEventDispatcherв цепочку.В случае, если целевой объект является частью иерархии, цепочка для него обычно строится из диспетчеров событий, собранных от корня иерархии до целевого объекта.
Цепочка диспетчеризации событий строится путем модификаций предоставленной начальной цепочки диспетчеризации событий. Возвращаемая цепочка должна иметь начальную цепочку в конце, поэтому диспетчеры должны быть добавлены в начало начальной цепочки.
Вызывающий объект не должен предполагать, что исходная цепочка остается неизменной или что возвращаемое значение будет ссылаться на другую цепочку.
Определено в:
buildEventDispatchChainв интерфейсеEventTargetПереопределяет:
buildEventDispatchChainв классеMenuItemПараметры:
tail— начальная цепочка для построенияВозвращает:
результирующую цепочку диспетчеризации событий для этого целевого объекта
-
© 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.