Spec-Zone.ru › OpenJavaFX 21

Класс Меню

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

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

Меню обычно размещаются в MenuBar или в качестве подменю другого меню. Если целью является отображение контекстного меню при щелчке правой кнопкой мыши в определённой области пользовательского интерфейса, то это неподходящий элемент управления. Это связано с тем, что при добавлении меню в сцену появляется визуальное представление, что приводит к его отображению на экране. Вместо этого следует использовать 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

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

Тип Свойство Описание
final ObjectProperty<EventHandler<Event>> onHidden
Вызывается сразу после того, как контекстное меню ContextMenu было скрыто.
final ObjectProperty<EventHandler<Event>> onHiding
Вызывается непосредственно перед скрытием контекстного меню ContextMenu.
final ObjectProperty<EventHandler<Event>> onShowing
Вызывается непосредственно перед отображением ContextMenu, даже если в меню нет элементов для отображения.
final ObjectProperty<EventHandler<Event>> onShown
Вызывается сразу после отображения контекстного меню ContextMenu.
final ReadOnlyBooleanProperty showing
Указывает, отображается ли в данный момент контекстное меню ContextMenu.

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

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

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

Модификатор и тип Поле Описание
static final EventType<Event> ON_HIDDEN
Вызывается при скрытии контекстного меню для этого меню.
static final EventType<Event> ON_HIDING
Вызывается при скрытии контекстного меню для этого меню.
static final EventType<Event> ON_SHOWING
Вызывается при отображении контекстного меню для этого меню.
static final 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.

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

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

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

acceleratorProperty, buildEventDispatchChain, 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, visibleProperty

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

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

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

addEventFilter, addEventHandler, removeEventFilter, removeEventHandler

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

getStyleableNode

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

отображение

public final ReadOnlyBooleanProperty showingProperty
Указывает, отображается ли в настоящее время ContextMenu.
Значение по умолчанию:
false
См. также:
  • isShowing()
  • showingProperty()

onShowing

public final ObjectProperty<EventHandler<Event>> onShowingProperty
Вызывается непосредственно перед отображением ContextMenu, даже если в меню нет элементов для отображения. Однако обратите внимание, что это не будет вызываться, если у меню нет действительного узла якоря.
См. также:
  • getOnShowing()
  • setOnShowing(EventHandler)
  • onShowingProperty()

onShown

public final ObjectProperty<EventHandler<Event>> onShownProperty
Вызывается сразу после отображения ContextMenu.
См. также:
  • getOnShown()
  • setOnShown(EventHandler)
  • onShownProperty()

onHiding

public final ObjectProperty<EventHandler<Event>> onHidingProperty
Вызывается непосредственно перед скрытием ContextMenu.
См. также:
  • getOnHiding()
  • setOnHiding(EventHandler)
  • onHidingProperty()

onHidden

public final ObjectProperty<EventHandler<Event>> onHiddenProperty
Вызывается сразу после скрытия ContextMenu.
См. также:
  • getOnHidden()
  • setOnHidden(EventHandler)
  • onHiddenProperty()

Подробности полей

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

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

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

Меню

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

Меню

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

Меню

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

Меню

public Menu(String text, Node graphic, MenuItem... items)
Создает меню и устанавливает текст для отображения с указанным текстом, графическое изображение Node на данный узел и вставляет заданные элементы в список items.
Параметры:
text - текст для отображения на кнопке меню
graphic - графическое изображение для отображения на кнопке меню
items - Элементы для отображения в всплывающем меню.
С:
JavaFX 8u40

Подробности методов

isShowing

public final boolean isShowing()
Возвращает значение свойства showing.
Описание свойства:
Указывает, отображается ли в настоящее время ContextMenu.
Значение по умолчанию:
false
Возвращает:
значение свойства showing
См. также:
  • showingProperty()

showingProperty

public final ReadOnlyBooleanProperty showingProperty()
Указывает, отображается ли в настоящее время ContextMenu.
Значение по умолчанию:
false
Возвращает:
свойство showing
См. также:
  • isShowing()

onShowingProperty

public final ObjectProperty<EventHandler<Event>> onShowingProperty()
Вызывается непосредственно перед отображением ContextMenu, даже если в меню нет элементов для отображения. Однако обратите внимание, что это не будет вызываться, если у меню нет действительного узла якоря.
Возвращает:
свойство on showing
См. также:
  • getOnShowing()
  • setOnShowing(EventHandler)

setOnShowing

public final void setOnShowing(EventHandler<Event> value)
Устанавливает значение свойства onShowing.
Описание свойства:
Вызывается непосредственно перед отображением ContextMenu, даже если в меню нет элементов для отображения. Однако обратите внимание, что это не будет вызываться, если у меню нет действительного узла якоря.
Параметры:
value - значение для свойства onShowing
См. также:
  • getOnShowing()
  • onShowingProperty()

getOnShowing

public final EventHandler<Event> getOnShowing()
Возвращает значение свойства onShowing.
Описание свойства:
Вызывается непосредственно перед отображением ContextMenu, даже если в меню нет элементов для отображения. Однако обратите внимание, что это не будет вызываться, если у меню нет действительного узла якоря.
Возвращает:
значение свойства onShowing
См. также:
  • setOnShowing(EventHandler)
  • onShowingProperty()

onShownProperty

public final ObjectProperty<EventHandler<Event>> onShownProperty()
Вызывается сразу после отображения ContextMenu.
Возвращает:
свойство on shown
См. также:
  • getOnShown()
  • setOnShown(EventHandler)

setOnShown

public final void setOnShown(EventHandler<Event> value)
Устанавливает значение свойства onShown.
Описание свойства:
Вызывается сразу после отображения ContextMenu.
Параметры:
value - значение для свойства onShown
См. также:
  • getOnShown()
  • onShownProperty()

getOnShown

public final EventHandler<Event> getOnShown()
Возвращает значение свойства onShown.
Описание свойства:
Вызывается сразу после отображения ContextMenu.
Возвращает:
значение свойства onShown
См. также:
  • setOnShown(EventHandler)
  • onShownProperty()

onHidingProperty

public final ObjectProperty<EventHandler<Event>> onHidingProperty()
Вызывается непосредственно перед скрытием ContextMenu.
Возвращает:
свойство on hiding
См. также:
  • getOnHiding()
  • setOnHiding(EventHandler)

setOnHiding

public final void setOnHiding(EventHandler<Event> value)
Устанавливает значение свойства onHiding.
Описание свойства:
Вызывается непосредственно перед скрытием ContextMenu.
Параметры:
value - значение свойства onHiding
См. также:
  • getOnHiding()
  • onHidingProperty()

getOnHiding

public final EventHandler<Event> getOnHiding()
Получает значение свойства onHiding.
Описание свойства:
Вызывается непосредственно перед скрытием ContextMenu.
Возвращает:
значение свойства onHiding
См. также:
  • setOnHiding(EventHandler)
  • onHidingProperty()

onHiddenProperty

public final ObjectProperty<EventHandler<Event>> onHiddenProperty()
Вызывается сразу после скрытия ContextMenu.
Возвращает:
свойство on hidden
См. также:
  • getOnHidden()
  • setOnHidden(EventHandler)

setOnHidden

public final void setOnHidden(EventHandler<Event> value)
Устанавливает значение свойства onHidden.
Описание свойства:
Вызывается сразу после скрытия ContextMenu.
Параметры:
value - значение свойства onHidden
См. также:
  • getOnHidden()
  • onHiddenProperty()

getOnHidden

public final EventHandler<Event> getOnHidden()
Получает значение свойства onHidden.
Описание свойства:
Вызывается сразу после скрытия ContextMenu.
Возвращает:
значение свойства onHidden
См. также:
  • setOnHidden(EventHandler)
  • onHiddenProperty()

getItems

public final ObservableList<MenuItem> getItems()
Элементы, которые должны отображаться в этом меню. Если этот список ObservableList изменяется во время выполнения, меню будет обновляться как ожидается.
Возвращает:
список элементов

show

public void show()
Если меню не отключено и ContextMenu еще не отображается, то это приведет к отображению ContextMenu.

hide

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