- java.lang.Object
-
- javafx.scene.control.MenuItem
-
- javafx.scene.control.Menu
-
- Все реализованные интерфейсы:
-
Styleable,EventTarget
@DefaultProperty("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меню, создавая подменю:MenuItem menu12 = new MenuItem("Open"); menu1.getItems().add(menu12);Список элементов позволяет вставлять любые типы
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(String text)Создаёт меню и устанавливает текст отображения с указанным текстом.Menu(String text, Node graphic)Создаёт меню и устанавливает текст отображения с указанным текстом и графическимNodeзаданному узлу.Menu(String text, Node graphic, MenuItem... items)
-
Краткое описание методов
Все методыМетоды экземпляраКонкретные методы Модификатор и тип Метод Описание <E extends Event>
voidaddEventHandler(EventType<E> eventType, EventHandler<E> eventHandler)Регистрирует обработчик событий для данного элемента меню.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)Отменяет ранее зарегистрированный обработчик событий из данного элемента меню.voidsetOnHidden(EventHandler<Event> value)Устанавливает значение свойства onHidden.voidsetOnHiding(EventHandler<Event> value)Устанавливает значение свойства onHiding.voidsetOnShowing(EventHandler<Event> value)Устанавливает значение свойства onShowing.voidsetOnShown(EventHandler<Event> value)Устанавливает значение свойства onShown.voidshow()Если меню не отключено иContextMenuещё не отображается, то это заставит отобразитьсяContextMenu.ReadOnlyBooleanPropertyshowingProperty()Указывает, отображается ли в данный моментContextMenu.-
Наследованные методы от класса javafx.scene.control.MenuItem
acceleratorProperty, 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, setAccelerator, setDisable, setGraphic, setId, setMnemonicParsing, setOnAction, setOnMenuValidation, setParentMenu, setParentPopup, setStyle, setText, setUserData, setVisible, styleProperty, textProperty, toString, visibleProperty
-
-
Свойства
-
showing
public final ReadOnlyBooleanProperty showingProperty
Указывает, отображается ли в данный моментContextMenu.- Значение по умолчанию:
- false
- См. также:
isShowing()
-
onShowing
public final ObjectProperty<EventHandler<Event>> onShowingProperty
Вызывается непосредственно перед отображениемContextMenu, даже если в меню нет элементов для отображения. Однако, это не будет вызвано, если у меню нет корректного узла-якоря.- См. также:
-
getOnShowing(),setOnShowing(EventHandler)
-
onShown
public final ObjectProperty<EventHandler<Event>> onShownProperty
Вызывается сразу после отображенияContextMenu.- См. также:
-
getOnShown(),setOnShown(EventHandler)
-
onHiding
public final ObjectProperty<EventHandler<Event>> onHidingProperty
Вызывается непосредственно перед скрытиемContextMenu.- См. также:
-
getOnHiding(),setOnHiding(EventHandler)
-
onHidden
public final ObjectProperty<EventHandler<Event>> onHiddenProperty
Вызывается сразу после скрытияContextMenu.- См. также:
-
getOnHidden(),setOnHidden(EventHandler)
-
-
Подробное описание полей
-
ON_SHOWING
public static final EventType<Event> ON_SHOWING
Вызывается, когда контекстное меню для этого меню будет отображено. Однако, если контекстное меню пустое, это не будет вызываться.
-
ON_SHOWN
public static final EventType<Event> ON_SHOWN
Вызывается, когда контекстное меню для этого меню отображается. Однако, если контекстное меню пустое, это не будет вызываться.
-
-
Подробное описание конструкторов
-
Menu
public Menu()
Создаёт меню с пустым строковым значением для текста отображения.- Since:
- JavaFX 2.2
-
Menu
public Menu(String text)
Создаёт меню и задаёт текст отображения указанным текстом.- Параметры:
-
text- текст для отображения на кнопке меню
-
Menu
public Menu(String text, Node graphic)
Создаёт меню и задаёт текст отображения указанным текстом и устанавливает графическоеNodeна заданный узел.- Параметры:
-
text- текст для отображения на кнопке меню -
graphic- графическое изображение для отображения на кнопке меню
-
Menu
public Menu(String text, Node graphic, MenuItem... items)
Создаёт меню и задаёт текст отображения указанным текстом, графическоеNodeна заданный узел и вставляет указанные элементы в списокitems.- Параметры:
-
text- текст для отображения на кнопке меню -
graphic- графическое изображение для отображения на кнопке меню -
items- Элементы для отображения в всплывающем меню. - Since:
- JavaFX 8u40
-
-
Подробное описание методов
-
isShowing
public final boolean isShowing()
Возвращает значение свойства showing.- Описание свойства:
- Указывает, отображается ли в данный момент
ContextMenu. - Значение по умолчанию:
- false
-
showingProperty
public final ReadOnlyBooleanProperty showingProperty()
Указывает, отображается ли в данный моментContextMenu.- Значение по умолчанию:
- false
- См. также:
isShowing()
-
onShowingProperty
public final ObjectProperty<EventHandler<Event>> onShowingProperty()
Вызывается непосредственно перед отображениемContextMenu, даже если в меню нет элементов для отображения. Однако обратите внимание, что это не будет вызвано, если у меню нет корректного узла якоря.- См. также:
-
getOnShowing(),setOnShowing(EventHandler)
-
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.- См. также:
-
getOnShown(),setOnShown(EventHandler)
-
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.- См. также:
-
getOnHiding(),setOnHiding(EventHandler)
-
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.- См. также:
-
getOnHidden(),setOnHidden(EventHandler)
-
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)
Регистрирует обработчик событий для этого элемента меню. Обработчик вызывается, когда элемент меню получаетEventуказанного типа во время фазы распространения события.- Переопределяет:
-
addEventHandlerв классеMenuItem - Параметры типа:
-
E- конкретный класс события обработчика - Параметры:
-
eventType- тип событий, которые должен получать обработчик -
eventHandler- регистрируемый обработчик
-
removeEventHandler
public <E extends Event> void removeEventHandler(EventType<E> eventType, EventHandler<E> eventHandler)
Отменяет регистрацию ранее зарегистрированного обработчика событий для этого элемента меню. Один обработчик может быть зарегистрирован для разных типов событий, поэтому вызывающий метод должен указать конкретный тип события, для которого необходимо отменить регистрацию обработчика.- Переопределяет:
-
removeEventHandlerв классеMenuItem - Параметры типа:
-
E- конкретный класс события обработчика - Параметры:
-
eventType- тип события, для которого необходимо отменить регистрацию -
eventHandler- обработчик для отмены регистрации
-
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.