Spec-Zone.ru › OpenJavaFX 17

Класс Меню

java.lang.Object
javafx.scene.control.MenuItem
javafx.scene.control.Menu
Все реализованные интерфейсы:
Styleable, EventTarget
@DefaultProperty("items")
public class Menu
extends MenuItem

Появившееся меню, состоящее из пунктов, которые пользователь может выбрать по запросу. Когда меню отображается, в большинстве случаев пользователь может выбрать один пункт меню, прежде чем меню вернётся в скрытое состояние. Это означает, что меню — хорошее место для размещения важной функциональности, которая не обязательно должна быть постоянно видна пользователю.

Меню обычно размещаются в MenuBar или как подменю другого меню. Если целью является предоставление контекстного меню при щелчке правой кнопкой мыши в определённой области пользовательского интерфейса, то данный элемент управления использовать не следует. Это связано с тем, что когда Menu добавляется в сцену, он имеет визуальное представление, которое приведет к его отображению на экране. Вместо этого, в этом случае следует использовать ContextMenu.

Создание меню и его вставка в строку меню проста, как показано ниже:

 Menu menu1 = new Menu("File");
 MenuBar menuBar = new MenuBar(menu1);

Меню — это подкласс MenuItem, что означает, что его можно вставить в список items ObservableList, что приведет к созданию подменю:

 MenuItem menu12 = new MenuItem("Open");
 menu1.getItems().add(menu12);
Image of the Menu control

Список элементов ObservableList позволяет вставлять любой тип MenuItem, включая его подклассы Menu, MenuItem, RadioMenuItem, CheckMenuItem, CustomMenuItem и SeparatorMenuItem. Для вставки произвольного Node в меню можно использовать CustomMenuItem. Исключением из этого общего правила является то, что SeparatorMenuItem можно использовать для вставки разделителя.

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

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

Свойства
Тип Свойство Описание
ObjectProperty<EventHandler<Event>> onHidden
Вызывается сразу после того, как ContextMenu было скрыто.
ObjectProperty<EventHandler<Event>> onHiding
Вызывается непосредственно перед скрытием ContextMenu.
ObjectProperty<EventHandler<Event>> onShowing
Вызывается непосредственно перед отображением ContextMenu, даже если в меню нет элементов для отображения.
ObjectProperty<EventHandler<Event>> onShown
Вызывается сразу после отображения ContextMenu.
ReadOnlyBooleanProperty showing
Указывает, отображается ли в данный момент 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)
Создаёт меню и задаёт текст отображения указанным текстом, графическое Node заданному узлу и вставляет заданные элементы в список items.

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

Модификатор и тип Метод Описание
ObservableList<MenuItem> getItems()
Элементы, которые нужно отобразить в этом меню.
EventHandler<Event> getOnHidden()
Получает значение свойства onHidden.
EventHandler<Event> getOnHiding()
Получает значение свойства onHiding.
EventHandler<Event> getOnShowing()
Получает значение свойства onShowing.
EventHandler<Event> getOnShown()
Получает значение свойства onShown.
void hide()
Скрывает ContextMenu, если он был ранее отображён, и все отображённые подменю.
boolean isShowing()
Получает значение свойства showing.
ObjectProperty<EventHandler<Event>> onHiddenProperty()
Вызывается сразу после того, как ContextMenu был скрыт.
ObjectProperty<EventHandler<Event>> onHidingProperty()
Вызывается непосредственно перед скрытием ContextMenu.
ObjectProperty<EventHandler<Event>> onShowingProperty()
Вызывается непосредственно перед отображением ContextMenu, даже если в меню нет элементов для отображения.
ObjectProperty<EventHandler<Event>> onShownProperty()
Вызывается сразу после отображения ContextMenu.
void setOnHidden​(EventHandler<Event> value)
Устанавливает значение свойства onHidden.
void setOnHiding​(EventHandler<Event> value)
Устанавливает значение свойства onHiding.
void setOnShowing​(EventHandler<Event> value)
Устанавливает значение свойства onShowing.
void setOnShown​(EventHandler<Event> value)
Устанавливает значение свойства onShown.
void show()
Если меню не отключено и ContextMenu ещё не отображается, это приведет к отображению ContextMenu.
ReadOnlyBooleanProperty showingProperty()
Указывает, отображается ли в данный момент ContextMenu.

Методы, объявленные в классе 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

Подробности свойства

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

Вызывается при отображении контекстного меню для этого меню. Однако, если контекстное меню пустое, то это не будет вызвано.

ON_HIDING

public static final EventType<Event> ON_HIDING

Вызывается при скрытии контекстного меню для этого меню. Однако, если контекстное меню пустое, то это не будет вызвано.

ON_HIDDEN

public static final EventType<Event> ON_HIDDEN

Вызывается при скрытии контекстного меню для этого меню. Однако, если контекстное меню пустое, то это не будет вызвано.

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

Menu

public Menu()
Создаёт Menu со строкой-пустышкой в качестве текста для отображения.
Since:
JavaFX 2.2

Menu

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

Menu

public Menu(String text, Node graphic)
Создаёт Menu и устанавливает текст для отображения заданным текстом и устанавливает графику Node заданному узлу.
Parameters:
text - текст для отображения на кнопке меню
graphic - графику для отображения на кнопке меню

Menu

public Menu(String text, Node graphic, MenuItem... items)
Создаёт Menu и устанавливает текст для отображения заданным текстом, устанавливает графику Node заданному узлу и вставляет заданные элементы в список items.
Parameters:
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 будет изменён во время выполнения, Menu будет обновлён как ожидается.
Возвращает:
список элементов

отображение

public void show()
Если Меню не отключено и ContextMenu ещё не отображается, то это вызовет отображение ContextMenu.

скрыть

public void hide()
Скрывает ContextMenu, если оно было ранее отображено, и любые отображаемые подменю. Если это меню не отображается, вызов этой функции не оказывает никакого эффекта.

© 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