Класс Меню
- Все реализованные интерфейсы:
-
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); Список элементов ObservableList позволяет вставлять элементы любого типа MenuItem, включая его подклассы Menu, MenuItem, RadioMenuItem, CheckMenuItem, CustomMenuItem и SeparatorMenuItem. Для вставки произвольного Node в меню можно использовать CustomMenuItem. Исключением из этого общего правила является то, что SeparatorMenuItem может использоваться для вставки разделителя.
Краткое описание свойств
| Тип | Свойство | Описание |
|---|---|---|
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 |
Создаёт меню и устанавливает текст для отображения указанным текстом. |
Menu |
Создаёт меню и устанавливает текст для отображения указанным текстом, а также устанавливает графику Node для заданного узла. |
Menu |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
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 |
Устанавливает значение свойства onHidden. |
final void |
setOnHiding |
Устанавливает значение свойства onHiding. |
final void |
setOnShowing |
Устанавливает значение свойства onShowing. |
final void |
setOnShown |
Устанавливает значение свойства 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
- См. также:
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
Вызывается, когда контекстное меню для этого меню скрыто. Однако, если контекстное меню пусто, это не будет вызвано.
Подробности конструкторов
Меню
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
public final ReadOnlyBooleanProperty showingProperty()
ContextMenu.- Значение по умолчанию:
- false
- Возвращает:
- свойство
showing - См. также:
onShowingProperty
public final ObjectProperty<EventHandler<Event>> onShowingProperty()
ContextMenu, даже если в меню нет элементов для отображения. Однако обратите внимание, что это не будет вызываться, если у меню нет действительного узла якоря.- Возвращает:
- свойство on showing
- См. также:
setOnShowing
public final void setOnShowing(EventHandler<Event> value)
onShowing.- Описание свойства:
- Вызывается непосредственно перед отображением
ContextMenu, даже если в меню нет элементов для отображения. Однако обратите внимание, что это не будет вызываться, если у меню нет действительного узла якоря. - Параметры:
-
value- значение для свойстваonShowing - См. также:
getOnShowing
public final EventHandler<Event> getOnShowing()
onShowing.- Описание свойства:
- Вызывается непосредственно перед отображением
ContextMenu, даже если в меню нет элементов для отображения. Однако обратите внимание, что это не будет вызываться, если у меню нет действительного узла якоря. - Возвращает:
- значение свойства
onShowing - См. также:
onShownProperty
public final ObjectProperty<EventHandler<Event>> onShownProperty()
ContextMenu.- Возвращает:
- свойство on shown
- См. также:
setOnShown
public final void setOnShown(EventHandler<Event> value)
onShown.- Описание свойства:
- Вызывается сразу после отображения
ContextMenu. - Параметры:
-
value- значение для свойстваonShown - См. также:
getOnShown
public final EventHandler<Event> getOnShown()
onShown.- Описание свойства:
- Вызывается сразу после отображения
ContextMenu. - Возвращает:
- значение свойства
onShown - См. также:
onHidingProperty
public final ObjectProperty<EventHandler<Event>> onHidingProperty()
ContextMenu.- Возвращает:
- свойство on hiding
- См. также:
setOnHiding
public final void setOnHiding(EventHandler<Event> value)
onHiding.- Описание свойства:
- Вызывается непосредственно перед скрытием
ContextMenu. - Параметры:
-
value- значение свойстваonHiding - См. также:
getOnHiding
public final EventHandler<Event> getOnHiding()
onHiding.- Описание свойства:
- Вызывается непосредственно перед скрытием
ContextMenu. - Возвращает:
- значение свойства
onHiding - См. также:
onHiddenProperty
public final ObjectProperty<EventHandler<Event>> onHiddenProperty()
ContextMenu.- Возвращает:
- свойство on hidden
- См. также:
setOnHidden
public final void setOnHidden(EventHandler<Event> value)
onHidden.- Описание свойства:
- Вызывается сразу после скрытия
ContextMenu. - Параметры:
-
value- значение свойстваonHidden - См. также:
getOnHidden
public final EventHandler<Event> getOnHidden()
onHidden.- Описание свойства:
- Вызывается сразу после скрытия
ContextMenu. - Возвращает:
- значение свойства
onHidden - См. также:
getItems
public final ObservableList<MenuItem> getItems()
- Возвращает:
- список элементов
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.