|
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, styleautoFix, autoHide, consumeAutoHidingEvents, hideOnEscape, onAutoHide, ownerNode, ownerWindowPopupControl. CSSBridgebridge, 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, stylePropertyautoFixProperty, autoHideProperty, consumeAutoHidingEventsProperty, getConsumeAutoHidingEvents, getOnAutoHide, getOwnerNode, getOwnerWindow, hideOnEscapeProperty, isAutoFix, isAutoHide, isHideOnEscape, onAutoHideProperty, ownerNodeProperty, ownerWindowProperty, setAutoFix, setAutoHide, setConsumeAutoHidingEvents, setHideOnEscape, setOnAutoHide, setScene, show, showaddEventFilter, 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, yPropertypublic 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()
MenuItempublic 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 PopupWindowanchor - Узел владельца раскрывающегося. Это не должно быть нулем и должно быть связано с Окном.screenX - x расположение в экранных координатах, в которых можно показать этот PopupWindow.screenY - y расположение в экране coordiates, в котором можно показать этот PopupWindow.public void hide()
ContextMenu и любые видимые подменю, предполагая это, когда эта функция вызывается что ContextMenu показывал. Если это ContextMenu не показывает, тогда ничто не происходит.
hide в class PopupWindowCopyright (c) 2008, 2012, Oracle и/или его филиалы. Все права защищены. Использование подвергается .