Spec-Zone .ru
спецификации, руководства, описания, API
|
public class ContextMenu extends PopupControl
Раскрывающееся управление, содержащее ObservableList пунктов меню. items
ObservableList учитывает любого MenuItem
введите, чтобы быть вставленными, включая его подклассы Menu
, MenuItem
, RadioMenuItem
, CheckMenuItem
и CustomMenuItem
. Если произвольный Узел должен быть вставлен в меню, CustomMenuItem может использоваться. Одно исключение к этому общему правилу - это SeparatorMenuItem
мог использоваться для того, чтобы вставить разделитель.
Случай обычного использования для этого class создает и показывает контекстные меню пользователям. Чтобы создать использование контекстного меню ContextMenu, можно сделать следующее:
final ContextMenu contextMenu = new ContextMenu();
contextMenu.setOnShowing(new EventHandler<WindowEvent>() {
public void handle(WindowEvent e) {
System.out.println("showing");
}
});
contextMenu.setOnShown(new EventHandler<WindowEvent>() {
public void handle(WindowEvent e) {
System.out.println("shown");
}
});
MenuItem item1 = new MenuItem("About");
item1.setOnAction(new EventHandler<ActionEvent>() {
public void handle(ActionEvent e) {
System.out.println("About");
}
});
MenuItem item2 = new MenuItem("Preferences");
item2.setOnAction(new EventHandler<ActionEvent>() {
public void handle(ActionEvent e) {
System.out.println("Preferences");
}
});
contextMenu.getItems().addAll(item1, item2);
final TextField textField = new TextField("Type Something");
textField.setContextMenu(contextMenu);
Control.setContextMenu(javafx.scene.control.ContextMenu)
метод удобства может использоваться, чтобы установить контекстное меню на на любом управлении. Пример выше результатов в контекстном меню, выводимом на экран справа Side
из TextField. Альтернативно, обработчик событий может также быть установлен на управлении вызвать контекстное меню как показано ниже.
textField.setOnAction(new EventHandler<ActionEvent>() {
public void handle(ActionEvent e) {
contextMenu.show(textField, Side.BOTTOM, 0, 0);
}
});
Group root = (Group) scene.getRoot();
root.getChildren().add(textField);
В этом примере показывают контекстное меню, когда пользователь щелкает Button
(конечно, следует использовать MenuButton
управление, чтобы сделать это вместо того, чтобы делать вышеупомянутое).
Отметьте, что выставочная функция, используемая в примере кода выше, приведет к ContextMenu, появляющемуся непосредственно ниже TextField. Можно измениться Side
чтобы получить результаты, Вы ожидаете.
Ввести | Свойство и Описание |
---|---|
ObjectProperty<EventHandler<ActionEvent>> |
onAction
Функция обратного вызова, которая будет информирована, когда элемент, содержавший в пределах этого
ContextMenu был активирован. |
id, maxHeight, maxWidth, minHeight, minWidth, prefHeight, prefWidth, skin, style
autoFix, autoHide, consumeAutoHidingEvents, hideOnEscape, onAutoHide, ownerNode, ownerWindow
PopupControl. CSSBridge
bridge, USE_COMPUTED_SIZE, USE_PREF_SIZE
Конструктор и Описание |
---|
ContextMenu()
Создайте новый ContextMenu
|
ContextMenu(MenuItem... items)
Создайте новый ContextMenu, инициализированный с данными элементами
|
Модификатор и Тип | Метод и Описание |
---|---|
ObservableList<MenuItem> |
getItems()
Пункты меню в контекстном меню.
|
EventHandler<ActionEvent> |
getOnAction()
Получает значение свойства onAction.
|
void |
hide()
Скрывает это
ContextMenu и любые видимые подменю, предполагая это, когда эта функция вызывается что ContextMenu показывал. |
ObjectProperty<EventHandler<ActionEvent>> |
onActionProperty()
Функция обратного вызова, которая будет информирована, когда элемент, содержавший в пределах этого
ContextMenu был активирован. |
void |
setOnAction(EventHandler<ActionEvent> value)
Устанавливает значение свойства onAction.
|
void |
show(Node anchor, double screenX, double screenY)
Шоу
ContextMenu в указанных экранных координатах. |
void |
show(Node anchor, Side side, double dx, double dy)
Шоу
ContextMenu относительно данного узла привязки, на стороне, определенной hpos и vpos параметры, и смещенный данным dx и dy значения для оси X и оси Y, соответственно. |
getId, getMaxHeight, getMaxWidth, getMinHeight, getMinWidth, getPrefHeight, getPrefWidth, getSkin, getStyle, getStyleClass, idProperty, maxHeight, maxHeightProperty, maxWidth, maxWidthProperty, minHeight, minHeightProperty, minWidth, minWidthProperty, prefHeight, prefHeightProperty, prefWidth, prefWidthProperty, setId, setMaxHeight, setMaxSize, setMaxWidth, setMinHeight, setMinSize, setMinWidth, setPrefHeight, setPrefSize, setPrefWidth, setSkin, setStyle, skinProperty, styleProperty
autoFixProperty, autoHideProperty, consumeAutoHidingEventsProperty, getConsumeAutoHidingEvents, getOnAutoHide, getOwnerNode, getOwnerWindow, hideOnEscapeProperty, isAutoFix, isAutoHide, isHideOnEscape, onAutoHideProperty, ownerNodeProperty, ownerWindowProperty, setAutoFix, setAutoHide, setConsumeAutoHidingEvents, setHideOnEscape, setOnAutoHide, setScene, show, show
addEventFilter, addEventHandler, buildEventDispatchChain, centerOnScreen, eventDispatcherProperty, fireEvent, focusedProperty, getEventDispatcher, getHeight, getOnCloseRequest, getOnHidden, getOnHiding, getOnShowing, getOnShown, getOpacity, getScene, getWidth, getX, getY, heightProperty, isFocused, isShowing, onCloseRequestProperty, onHiddenProperty, onHidingProperty, onShowingProperty, onShownProperty, opacityProperty, removeEventFilter, removeEventHandler, requestFocus, sceneProperty, setEventDispatcher, setEventHandler, setHeight, setOnCloseRequest, setOnHidden, setOnHiding, setOnShowing, setOnShown, setOpacity, setWidth, setX, setY, show, showingProperty, sizeToScene, widthProperty, xProperty, yProperty
public final ObjectProperty<EventHandler<ActionEvent>> onActionProperty
ContextMenu
был активирован. Текущая реализация сообщает всем родительским меню также, так, чтобы не было необходимо слушать все подменю для событий.getOnAction()
, setOnAction(EventHandler)
public ContextMenu()
public ContextMenu(MenuItem... items)
public final void setOnAction(EventHandler<ActionEvent> value)
ContextMenu
был активирован. Текущая реализация сообщает всем родительским меню также, так, чтобы не было необходимо слушать все подменю для событий.public final EventHandler<ActionEvent> getOnAction()
ContextMenu
был активирован. Текущая реализация сообщает всем родительским меню также, так, чтобы не было необходимо слушать все подменю для событий.public final ObjectProperty<EventHandler<ActionEvent>> onActionProperty()
ContextMenu
был активирован. Текущая реализация сообщает всем родительским меню также, так, чтобы не было необходимо слушать все подменю для событий.getOnAction()
, setOnAction(EventHandler)
public final ObservableList<MenuItem> getItems()
MenuItem
public void show(Node anchor, Side side, double dx, double dy)
ContextMenu
относительно данного узла привязки, на стороне, определенной hpos
и vpos
параметры, и смещенный данным dx
и dy
значения для оси X и оси Y, соответственно. Если есть недостаточно комнаты, меню перемещается в противоположную сторону, и смещение не применяется. Разъяснить цель hpos
и vpos
параметры, полагайте, что они относительно узла привязки. Также, a hpos
и vpos
из CENTER
означал бы, что ContextMenu появляется сверху привязки, с (0,0) позиция ContextMenu
расположенный в (0,0) из привязки. A hpos
из права тогда сместился бы ContextMenu
так, что ее верхнее левое (0,0) позиция было бы присоединено к верхней правой позиции привязки.
Эта функция полезна для прекрасной настройки позиции меню относительно родительского узла, чтобы гарантировать близкое выравнивание.
public void show(Node anchor, double screenX, double screenY)
ContextMenu
в указанных экранных координатах. Если есть недостаточно комнаты в указанном расположении, чтобы показать ContextMenu
учитывая ее требования размера, необходимые корректировки вносятся, чтобы принести ContextMenu
назад назад на экране. Это также означает что ContextMenu
не будет охватывать многократные мониторы.show
в class PopupWindow
anchor
- Узел владельца раскрывающегося. Это не должно быть нулем и должно быть связано с Окном.screenX
- x расположение в экранных координатах, в которых можно показать этот PopupWindow.screenY
- y расположение в экране coordiates, в котором можно показать этот PopupWindow.public void hide()
ContextMenu
и любые видимые подменю, предполагая это, когда эта функция вызывается что ContextMenu
показывал. Если это ContextMenu
не показывает, тогда ничто не происходит.
hide
в class PopupWindow
Copyright (c) 2008, 2012, Oracle и/или его филиалы. Все права защищены. Использование подвергается