public class ContextMenuContent extends Region
Modifier and Type | Class and Description |
---|---|
(package private) class |
ContextMenuContent.ArrowMenuItem |
(package private) class |
ContextMenuContent.MenuBox
Custom VBox to enable scrolling of items.
|
class |
ContextMenuContent.MenuItemContainer |
private class |
ContextMenuContent.MenuLabel |
private static class |
ContextMenuContent.StyleableProperties |
USE_COMPUTED_SIZE, USE_PREF_SIZE
BASELINE_OFFSET_SAME_AS_HEIGHT
Constructor and Description |
---|
ContextMenuContent(ContextMenu popupMenu)
Constructors
|
Modifier and Type | Method and Description |
---|---|
protected double |
computeMaxHeight(double height)
Computes the maximum height of this region.
|
protected double |
computeMinHeight(double width)
Computes the minimum height of this region.
|
protected double |
computePrefHeight(double width)
Computes the preferred height of this region for the given width;
Region subclasses should override this method to return an appropriate
value based on their content and layout strategy.
|
protected double |
computePrefWidth(double height)
Computes the preferred width of this region for the given height.
|
private void |
computeVisualMetrics() |
private void |
createSubmenu() |
void |
dispose()
Can be called by Skins when they need to clean up the content of any
ContextMenu instances they might have created.
|
private void |
disposeBinds() |
void |
disposeContextMenu(ContextMenu menu) |
private void |
disposeVisualItems() |
private void |
ensureFocusedMenuItemIsVisible(Node node) |
private int |
findFocusedIndex()
Finds the index of currently focused item.
|
private int |
findNext(int from) |
private int |
findPrevious(int from) |
static java.util.List<CssMetaData<? extends Styleable,?>> |
getClassCssMetaData() |
private double |
getContentHeight() |
java.util.List<CssMetaData<? extends Styleable,?>> |
getCssMetaData()
This method should delegate to
Node.getClassCssMetaData() so that
a Node's CssMetaData can be accessed without the need for reflection. |
(package private) int |
getCurrentFocusIndex() |
protected ObservableList<MenuItem> |
getItems() |
VBox |
getItemsContainer() |
protected Label |
getLabelAt(int index) |
(package private) double |
getMenuYOffset(int menuIndex) |
(package private) Menu |
getOpenSubMenu() |
private double |
getScreenHeight() |
Styleable |
getStyleableParent()
*
Stylesheet Handling *
*
|
(package private) ContextMenu |
getSubMenu() |
private void |
hideAllMenus(MenuItem item) |
private void |
hideSubmenu() |
private void |
initialize() |
protected void |
layoutChildren()
Invoked during the layout pass to layout the children in this
Parent . |
private void |
moveToNextSibling() |
private void |
moveToPreviousSibling() |
private void |
processLeftKey(KeyEvent ke) |
private void |
processRightKey(KeyEvent ke) |
(package private) void |
scroll(double delta) |
private void |
selectMenuItem() |
(package private) void |
setCurrentFocusedIndex(int index) |
private void |
setUpBinds() |
private void |
showMenu(Menu menu) |
private void |
showSubmenu(Menu menu) |
private void |
updateItems() |
private void |
updateMenuShowingListeners(java.util.List<? extends MenuItem> items,
boolean addListeners) |
private void |
updateVisualItems() |
backgroundProperty, borderProperty, cacheShapeProperty, centerShapeProperty, computeMaxWidth, computeMinWidth, getBackground, getBorder, getHeight, getInsets, getMaxHeight, getMaxWidth, getMinHeight, getMinWidth, getOpaqueInsets, getPadding, getPrefHeight, getPrefWidth, getShape, getUserAgentStylesheet, getWidth, heightProperty, impl_computeContains, impl_computeGeomBounds, impl_computeLayoutBounds, impl_createPeer, impl_notifyLayoutBoundsChanged, impl_pickNodeLocal, impl_updatePeer, insetsProperty, isCacheShape, isCenterShape, isResizable, isScaleShape, isSnapToPixel, layoutInArea, layoutInArea, layoutInArea, layoutInArea, maxHeight, maxHeightProperty, maxWidth, maxWidthProperty, minHeight, minHeightProperty, minWidth, minWidthProperty, opaqueInsetsProperty, paddingProperty, positionInArea, positionInArea, prefHeight, prefHeightProperty, prefWidth, prefWidthProperty, resize, scaleShapeProperty, setBackground, setBorder, setCacheShape, setCenterShape, setHeight, setMaxHeight, setMaxSize, setMaxWidth, setMinHeight, setMinSize, setMinWidth, setOpaqueInsets, setPadding, setPrefHeight, setPrefSize, setPrefWidth, setScaleShape, setShape, setSnapToPixel, setWidth, shapeProperty, snappedBottomInset, snappedLeftInset, snappedRightInset, snappedTopInset, snapPosition, snapSize, snapSpace, snapToPixelProperty, widthProperty
getBaselineOffset, getChildren, getChildrenUnmodifiable, getImpl_traversalEngine, getManagedChildren, getStylesheets, impl_getAllParentStylesheets, impl_processCSS, impl_processMXNode, impl_traversalEngineProperty, isNeedsLayout, layout, lookup, needsLayoutProperty, queryAccessibleAttribute, requestLayout, requestParentLayout, setImpl_traversalEngine, setNeedsLayout, updateBounds
accessibleHelpProperty, accessibleRoleDescriptionProperty, accessibleRoleProperty, accessibleTextProperty, addEventFilter, addEventHandler, applyCss, autosize, blendModeProperty, boundsInLocalProperty, boundsInParentProperty, buildEventDispatchChain, cacheHintProperty, cacheProperty, clipProperty, computeAreaInScreen, contains, contains, containsBounds, cursorProperty, depthTestProperty, disabledProperty, disableProperty, effectiveNodeOrientationProperty, effectProperty, eventDispatcherProperty, executeAccessibleAction, fireEvent, focusedProperty, focusTraversableProperty, getAccessibleHelp, getAccessibleRole, getAccessibleRoleDescription, getAccessibleText, getBlendMode, getBoundsInLocal, getBoundsInParent, getCacheHint, getClip, getContentBias, getCursor, getDepthTest, getEffect, getEffectiveNodeOrientation, getEventDispatcher, getId, getInputMethodRequests, getLayoutBounds, getLayoutX, getLayoutY, getLocalToParentTransform, getLocalToSceneTransform, getNodeOrientation, getOnContextMenuRequested, getOnDragDetected, getOnDragDone, getOnDragDropped, getOnDragEntered, getOnDragExited, getOnDragOver, getOnInputMethodTextChanged, getOnKeyPressed, getOnKeyReleased, getOnKeyTyped, getOnMouseClicked, getOnMouseDragEntered, getOnMouseDragExited, getOnMouseDragged, getOnMouseDragOver, getOnMouseDragReleased, getOnMouseEntered, getOnMouseExited, getOnMouseMoved, getOnMousePressed, getOnMouseReleased, getOnRotate, getOnRotationFinished, getOnRotationStarted, getOnScroll, getOnScrollFinished, getOnScrollStarted, getOnSwipeDown, getOnSwipeLeft, getOnSwipeRight, getOnSwipeUp, getOnTouchMoved, getOnTouchPressed, getOnTouchReleased, getOnTouchStationary, getOnZoom, getOnZoomFinished, getOnZoomStarted, getOpacity, getParent, getProperties, getPseudoClassStates, getRotate, getRotationAxis, getScaleX, getScaleY, getScaleZ, getScene, getStyle, getStyleClass, getTransforms, getTranslateX, getTranslateY, getTranslateZ, getTypeSelector, getUserData, hasProperties, hoverProperty, idProperty, impl_clearDirty, impl_computeIntersects, impl_cssGetCursorInitialValue, impl_cssGetFocusTraversableInitialValue, impl_findStyles, impl_geomChanged, impl_getLeafTransform, impl_getMatchingStyles, impl_getPeer, impl_getPivotX, impl_getPivotY, impl_getPivotZ, impl_getStyleMap, impl_hasTransforms, impl_intersects, impl_intersectsBounds, impl_isDirty, impl_isDirtyEmpty, impl_isShowMnemonics, impl_isTreeVisible, impl_layoutBoundsChanged, impl_markDirty, impl_pickNode, impl_processCSS, impl_reapplyCSS, impl_setShowMnemonics, impl_setStyleMap, impl_showMnemonicsProperty, impl_syncPeer, impl_transformsChanged, impl_traverse, impl_treeVisibleProperty, inputMethodRequestsProperty, intersects, intersects, isCache, isDisable, isDisabled, isFocused, isFocusTraversable, isHover, isManaged, isMouseTransparent, isPickOnBounds, isPressed, isVisible, layoutBoundsProperty, layoutXProperty, layoutYProperty, localToParent, localToParent, localToParent, localToParent, localToParent, localToParentTransformProperty, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToSceneTransformProperty, localToScreen, localToScreen, localToScreen, localToScreen, localToScreen, lookupAll, managedProperty, mouseTransparentProperty, nodeOrientationProperty, notifyAccessibleAttributeChanged, onContextMenuRequestedProperty, onDragDetectedProperty, onDragDoneProperty, onDragDroppedProperty, onDragEnteredProperty, onDragExitedProperty, onDragOverProperty, onInputMethodTextChangedProperty, onKeyPressedProperty, onKeyReleasedProperty, onKeyTypedProperty, onMouseClickedProperty, onMouseDragEnteredProperty, onMouseDragExitedProperty, onMouseDraggedProperty, onMouseDragOverProperty, onMouseDragReleasedProperty, onMouseEnteredProperty, onMouseExitedProperty, onMouseMovedProperty, onMousePressedProperty, onMouseReleasedProperty, onRotateProperty, onRotationFinishedProperty, onRotationStartedProperty, onScrollFinishedProperty, onScrollProperty, onScrollStartedProperty, onSwipeDownProperty, onSwipeLeftProperty, onSwipeRightProperty, onSwipeUpProperty, onTouchMovedProperty, onTouchPressedProperty, onTouchReleasedProperty, onTouchStationaryProperty, onZoomFinishedProperty, onZoomProperty, onZoomStartedProperty, opacityProperty, parentProperty, parentToLocal, parentToLocal, parentToLocal, parentToLocal, parentToLocal, pickOnBoundsProperty, pressedProperty, pseudoClassStateChanged, relocate, removeEventFilter, removeEventHandler, requestFocus, resizeRelocate, rotateProperty, rotationAxisProperty, scaleXProperty, scaleYProperty, scaleZProperty, sceneProperty, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, screenToLocal, screenToLocal, screenToLocal, setAccessibleHelp, setAccessibleRole, setAccessibleRoleDescription, setAccessibleText, setBlendMode, setCache, setCacheHint, setClip, setCursor, setDepthTest, setDisable, setDisabled, setEffect, setEventDispatcher, setEventHandler, setFocused, setFocusTraversable, setHover, setId, setInputMethodRequests, setLayoutX, setLayoutY, setManaged, setMouseTransparent, setNodeOrientation, setOnContextMenuRequested, setOnDragDetected, setOnDragDone, setOnDragDropped, setOnDragEntered, setOnDragExited, setOnDragOver, setOnInputMethodTextChanged, setOnKeyPressed, setOnKeyReleased, setOnKeyTyped, setOnMouseClicked, setOnMouseDragEntered, setOnMouseDragExited, setOnMouseDragged, setOnMouseDragOver, setOnMouseDragReleased, setOnMouseEntered, setOnMouseExited, setOnMouseMoved, setOnMousePressed, setOnMouseReleased, setOnRotate, setOnRotationFinished, setOnRotationStarted, setOnScroll, setOnScrollFinished, setOnScrollStarted, setOnSwipeDown, setOnSwipeLeft, setOnSwipeRight, setOnSwipeUp, setOnTouchMoved, setOnTouchPressed, setOnTouchReleased, setOnTouchStationary, setOnZoom, setOnZoomFinished, setOnZoomStarted, setOpacity, setPickOnBounds, setPressed, setRotate, setRotationAxis, setScaleX, setScaleY, setScaleZ, setStyle, setTranslateX, setTranslateY, setTranslateZ, setUserData, setVisible, snapshot, snapshot, startDragAndDrop, startFullDrag, styleProperty, toBack, toFront, toString, translateXProperty, translateYProperty, translateZProperty, usesMirroring, visibleProperty
private ContextMenu contextMenu
private double maxGraphicWidth
private double maxRightWidth
private double maxLabelWidth
private double maxRowHeight
private double maxLeftWidth
private double oldWidth
private Rectangle clipRect
ContextMenuContent.MenuBox itemsContainer
private ContextMenuContent.ArrowMenuItem upArrow
private ContextMenuContent.ArrowMenuItem downArrow
private int currentFocusedIndex
private boolean itemsDirty
private InvalidationListener popupShowingListener
private WeakInvalidationListener weakPopupShowingListener
private boolean isFirstShow
private double ty
private ChangeListener<java.lang.Boolean> menuShowingListener
private ListChangeListener<MenuItem> contextMenuItemsListener
private ChangeListener<java.lang.Boolean> menuItemVisibleListener
private Menu openSubmenu
private ContextMenu submenu
Region selectedBackground
private static final PseudoClass SELECTED_PSEUDOCLASS_STATE
private static final PseudoClass DISABLED_PSEUDOCLASS_STATE
private static final PseudoClass CHECKED_PSEUDOCLASS_STATE
public ContextMenuContent(ContextMenu popupMenu)
public VBox getItemsContainer()
int getCurrentFocusIndex()
void setCurrentFocusedIndex(int index)
private void updateItems()
private void computeVisualMetrics()
private void updateVisualItems()
private void disposeVisualItems()
public void dispose()
public void disposeContextMenu(ContextMenu menu)
protected void layoutChildren()
Parent
Parent
. By default it will only set the size of managed,
resizable content to their preferred sizes and does not do any node
positioning.
Subclasses should override this function to layout content as needed.
layoutChildren
in class Parent
protected double computePrefWidth(double height)
Region
computePrefWidth
in class Region
height
- the height that should be used if preferred width depends
on itprotected double computePrefHeight(double width)
Region
computePrefHeight
in class Region
width
- the width that should be used if preferred height depends
on itprotected double computeMinHeight(double width)
Region
computeMinHeight
in class Region
width
- the width that should be used if min height depends
on itprotected double computeMaxHeight(double height)
Region
computeMaxHeight
in class Region
private double getScreenHeight()
private double getContentHeight()
private void ensureFocusedMenuItemIsVisible(Node node)
protected ObservableList<MenuItem> getItems()
private int findFocusedIndex()
private void initialize()
private void processLeftKey(KeyEvent ke)
private void processRightKey(KeyEvent ke)
private void showMenu(Menu menu)
private void selectMenuItem()
private int findNext(int from)
private void moveToNextSibling()
private int findPrevious(int from)
private void moveToPreviousSibling()
double getMenuYOffset(int menuIndex)
private void setUpBinds()
private void disposeBinds()
private void updateMenuShowingListeners(java.util.List<? extends MenuItem> items, boolean addListeners)
ContextMenu getSubMenu()
Menu getOpenSubMenu()
private void createSubmenu()
private void showSubmenu(Menu menu)
private void hideSubmenu()
private void hideAllMenus(MenuItem item)
void scroll(double delta)
public Styleable getStyleableParent()
getStyleableParent
in interface Styleable
getStyleableParent
in class Node
getParent()
public static java.util.List<CssMetaData<? extends Styleable,?>> getClassCssMetaData()
public java.util.List<CssMetaData<? extends Styleable,?>> getCssMetaData()
Node.getClassCssMetaData()
so that
a Node's CssMetaData can be accessed without the need for reflection.getCssMetaData
in interface Styleable
getCssMetaData
in class Region
protected Label getLabelAt(int index)