Spec-Zone.ru › OpenJavaFX 24

Класс Menu

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

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

Тип Свойство Описание
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

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

showing

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

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

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

Menu

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

Menu

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

Menu

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

Menu

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

© 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