Spec-Zone.ru › OpenJavaFX 8
javafx.scene.control

Класс ButtonBar

java.lang.Object
  • javafx.scene.Node
    • javafx.scene.Parent
      • javafx.scene.layout.Region
        • javafx.scene.control.Control
          • javafx.scene.control.ButtonBar

Все реализуемые интерфейсы:

Styleable, EventTarget, Skinnable



public class ButtonBar
extends Control
ButtonBar — это по сути HBox с дополнительной функциональностью для размещения кнопок в соответствии с операционной системой. Другими словами, любой узел может быть помечен (с помощью метода setButtonData(Node, ButtonData)), помещен внутри ButtonBar (с помощью списка getButtons()), и затем будет позиционироваться относительно других узлов в списке кнопок на основе их меток, а также заданного button order для ButtonBar. **Унификация размера кнопок**

По умолчанию все кнопки в ButtonBar имеют одинаковый размер, то есть все кнопки занимают ширину самой широкой кнопки. Можно отказаться от этого для каждой кнопки, вызвав метод setButtonUniformSize(Node, boolean) со значением false.

Если кнопка исключена из унификации размеров, она не будет переразмеряться от своего предпочтительного размера, а также будет исключена из процесса измерения, поэтому её размер не повлияет на вычисление максимального размера всех кнопок в ButtonBar.

Скриншоты

Поскольку ButtonBar поддерживает Windows, Mac OS и Linux, ниже представлены три скриншота с одинаковыми кнопками, расположенными на каждой из трёх операционных систем.

Windows:

Mac OS:

Linux:

Примеры кода

Создание и использование ButtonBar простое, выполните следующие действия:

// Create the ButtonBar instance 
 ButtonBar buttonBar = new ButtonBar();
 
 // Create the buttons to go into the ButtonBar
 Button yesButton = new Button("Yes");
 ButtonBar.setButtonData(yesButton, ButtonData.YES); 
 
 Button noButton = new Button("No");
 ButtonBar.setButtonData(noButton, ButtonData.NO);
 
 // Add buttons to the ButtonBar
 buttonBar.getButtons().addAll(yesButton, noButton);

Приведённый выше пример кода расположит кнопки «Да» и «Нет» в соответствии с операционной системой пользователя. Это означает, что в Windows и Linux кнопка «Да» будет перед кнопкой «Нет», а в Mac OS — «Нет», а затем «Да».

В большинстве случаев макет, специфичный для ОС, является наилучшим выбором, но в случаях, когда требуется пользовательский макет, это достигается путём изменения button order property. Это похожие на шифр строки, являющиеся сокращёнными представлениями порядка кнопок. Встроенные порядки для Windows, Mac OS и Linux:

Windows: L_E+U+FBXI_YNOCAH_R
Mac OS: L_HE+U+FBIX_NCYOA_R
Linux: L_HE+UNYACBXIO_R

Обратитесь к перечислению ButtonBar.ButtonData для описания значения каждого из этих символов. Однако, если ваш ButtonBar состоит только из кнопок ButtonBar.ButtonData.YES и ButtonBar.ButtonData.NO, вы всегда хотите, чтобы кнопки «Да» были перед кнопками «Нет», и вы хотите, чтобы кнопки были right-aligned, вы можете сделать следующее:

// Create the ButtonBar instance 
 ButtonBar buttonBar = new ButtonBar();
 
 // Set the custom button order
 buttonBar.setButtonOrder("+YN");

С момента:

JavaFX 8u40

См. также:

ButtonBar.ButtonData

  • Резюме свойств

    Все методыМетоды экземпляраКонкретные методы
    Тип Свойство и описание
    DoubleProperty buttonMinWidth
    Указывает минимальную ширину всех кнопок, размещённых в этой панели кнопок.
    StringProperty buttonOrder
    Порядок стандартных кнопок в стандартной панели кнопок.
    • Свойства, унаследованные от класса javafx.scene.control.Control

      contextMenu, skin, tooltip
    • Свойства, унаследованные от класса javafx.scene.layout.Region

      background, border, cacheShape, centerShape, height, insets, maxHeight, maxWidth, minHeight, minWidth, opaqueInsets, padding, prefHeight, prefWidth, scaleShape, shape, snapToPixel, width
    • Свойства, унаследованные от класса javafx.scene.Parent

      needsLayout
    • Свойства, унаследованные от класса javafx.scene.Node

      accessibleHelp, accessibleRoleDescription, accessibleRole, accessibleText, blendMode, boundsInLocal, boundsInParent, cacheHint, cache, clip, cursor, depthTest, disabled, disable, effectiveNodeOrientation, effect, eventDispatcher, focused, focusTraversable, hover, id, inputMethodRequests, layoutBounds, layoutX, layoutY, localToParentTransform, localToSceneTransform, managed, mouseTransparent, nodeOrientation, onContextMenuRequested, onDragDetected, onDragDone, onDragDropped, onDragEntered, onDragExited, onDragOver, onInputMethodTextChanged, onKeyPressed, onKeyReleased, onKeyTyped, onMouseClicked, onMouseDragEntered, onMouseDragExited, onMouseDragged, onMouseDragOver, onMouseDragReleased, onMouseEntered, onMouseExited, onMouseMoved, onMousePressed, onMouseReleased, onRotate, onRotationFinished, onRotationStarted, onScrollFinished, onScroll, onScrollStarted, onSwipeDown, onSwipeLeft, onSwipeRight, onSwipeUp, onTouchMoved, onTouchPressed, onTouchReleased, onTouchStationary, onZoomFinished, onZoom, onZoomStarted, opacity, parent, pickOnBounds, pressed, rotate, rotationAxis, scaleX, scaleY, scaleZ, scene, style, translateX, translateY, translateZ, visible
  • Резюме вложенных классов

    Вложенные классы
    Модификатор и тип Класс и описание
    static class  ButtonBar.ButtonData
    Перечисление всех доступных меток данных кнопок.
  • Резюме полей

    Поля
    Модификатор и тип Поле и описание
    static String BUTTON_ORDER_LINUX
    Стандартный порядок кнопок в Linux (конкретно, GNOME).
    static String BUTTON_ORDER_MAC_OS
    Стандартный порядок кнопок в Mac OS.
    static String BUTTON_ORDER_NONE
    Строка порядка кнопок, указывающая, что порядок кнопок отсутствует.
    static String BUTTON_ORDER_WINDOWS
    Стандартный порядок кнопок в Windows.
    • Поля, унаследованные от класса javafx.scene.layout.Region

      USE_COMPUTED_SIZE, USE_PREF_SIZE
    • Поля, унаследованные от класса javafx.scene.Node

      BASELINE_OFFSET_SAME_AS_HEIGHT
  • Резюме конструкторов

    Конструкторы
    Конструктор и описание
    ButtonBar()
    Создаёт экземпляр ButtonBar по умолчанию, используя свойства по умолчанию для операционной системы пользователя.
    ButtonBar(String buttonOrder)
    Создаёт ButtonBar с заданным порядком кнопок (подробнее см. buttonOrderProperty()).
  • Резюме методов

    Все методыСтатические методыМетоды экземпляраКонкретные методы
    Модификатор и тип Метод и описание
    DoubleProperty buttonMinWidthProperty()
    Указывает минимальную ширину всех кнопок, размещённых в этой панели кнопок.
    StringProperty buttonOrderProperty()
    Порядок стандартных кнопок в стандартной панели кнопок.
    protected Skin<?> createDefaultSkin()
    Создаёт новый экземпляр стандартной темы для данного элемента управления.
    static ButtonBar.ButtonData getButtonData(Node button)
    Возвращает ранее заданное свойство ButtonData для данной кнопки.
    double getButtonMinWidth()
    Возвращает минимальную ширину всех кнопок, размещённых в этой панели кнопок.
    String getButtonOrder()
    Возвращает текущее значение button order.
    ObservableList<Node> getButtons()
    Размещение кнопок в этом списке ObservableList укажет ButtonBar на позиционирование кнопок относительно друг друга на основе указанных ButtonBar.ButtonData.
    static boolean isButtonUniformSize(Node button)
    Возвращает, участвует ли данный узел в расчётах унификации размеров или нет.
    static void setButtonData(Node button, ButtonBar.ButtonData buttonData)
    Устанавливает заданное значение ButtonData для данной кнопки.
    void setButtonMinWidth(double value)
    Устанавливает минимальную ширину всех кнопок, размещённых в этой панели кнопок.
    void setButtonOrder(String buttonOrder)
    Устанавливает button order
    static void setButtonUniformSize(Node button, boolean uniformSize)
    По умолчанию все кнопки в ButtonBar имеют одинаковый размер, то есть все кнопки занимают ширину самой широкой кнопки.
    • Методы, унаследованные от класса javafx.scene.control.Control

      computeMaxHeight, computeMaxWidth, computeMinHeight, computeMinWidth, computePrefHeight, computePrefWidth, contextMenuProperty, executeAccessibleAction, getBaselineOffset, getClassCssMetaData, getContextMenu, getControlCssMetaData, getCssMetaData, getSkin, getTooltip, isResizable, layoutChildren, queryAccessibleAttribute, setContextMenu, setSkin, setTooltip, skinProperty, tooltipProperty
    • Методы, унаследованные от класса javafx.scene.layout.Region

      backgroundProperty, borderProperty, cacheShapeProperty, centerShapeProperty, getBackground, getBorder, getHeight, getInsets, getMaxHeight, getMaxWidth, getMinHeight, getMinWidth, getOpaqueInsets, getPadding, getPrefHeight, getPrefWidth, getShape, getUserAgentStylesheet, getWidth, heightProperty, insetsProperty, isCacheShape, isCenterShape, 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
    • Методы, унаследованные от класса javafx.scene.Parent

      getChildren, getChildrenUnmodifiable, getManagedChildren, getStylesheets, isNeedsLayout, layout, lookup, needsLayoutProperty, requestLayout, requestParentLayout, setNeedsLayout, updateBounds
    • Методы, унаследованные от класса javafx.scene.Node

      accessibleHelpProperty, accessibleRoleDescriptionProperty, accessibleRoleProperty, accessibleTextProperty, addEventFilter, addEventHandler, applyCss, autosize, blendModeProperty, boundsInLocalProperty, boundsInParentProperty, buildEventDispatchChain, cacheHintProperty, cacheProperty, clipProperty, computeAreaInScreen, contains, contains, cursorProperty, depthTestProperty, disabledProperty, disableProperty, effectiveNodeOrientationProperty, effectProperty, eventDispatcherProperty, 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, getStyleableParent, getStyleClass, getTransforms, getTranslateX, getTranslateY, getTranslateZ, getTypeSelector, getUserData, hasProperties, hoverProperty, idProperty, 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
    • Методы, унаследованные от класса java.lang.Object

      clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Подробное описание свойства

    • buttonOrder

      public final StringProperty buttonOrderProperty
      Порядок стандартных кнопок в стандартной панели кнопок. Одна буква на значение перечисления ButtonBar.ButtonData. Также доступны стандартные порядки кнопок для операционных систем: BUTTON_ORDER_WINDOWS, BUTTON_ORDER_MAC_OS и BUTTON_ORDER_LINUX.

      См. также:

      getButtonOrder(), setButtonOrder(String)

    • buttonMinWidth

      public final DoubleProperty buttonMinWidthProperty
      Устанавливает минимальную ширину всех кнопок, размещённых на этой панели кнопок.

      См. также:

      getButtonMinWidth(), setButtonMinWidth(double)

  • Подробное описание поля

    • BUTTON_ORDER_WINDOWS

      public static final String BUTTON_ORDER_WINDOWS
      Стандартный порядок кнопок в Windows.

      См. также:

      Значения константных полей

    • BUTTON_ORDER_MAC_OS

      public static final String BUTTON_ORDER_MAC_OS
      Стандартный порядок кнопок в Mac OS.

      См. также:

      Значения константных полей

    • BUTTON_ORDER_LINUX

      public static final String BUTTON_ORDER_LINUX
      Стандартный порядок кнопок в Linux (в частности, GNOME).

      См. также:

      Значения константных полей

    • BUTTON_ORDER_NONE

      public static final String BUTTON_ORDER_NONE
      Строка порядка кнопок, указывающая на отсутствие порядка. Другими словами, кнопки будут размещены в порядке, существующем в списке getButtons(). Единственное отличие от использования HBox заключается в том, что кнопки выравниваются по правому краю.

      См. также:

      Значения константных полей

  • Подробное описание конструкторов

    • ButtonBar

      public ButtonBar()
      Создаёт экземпляр ButtonBar по умолчанию с использованием свойств по умолчанию для операционной системы пользователя.
    • ButtonBar

      public ButtonBar(String buttonOrder)
      Создаёт ButtonBar с заданным порядком кнопок (см. buttonOrderProperty() для получения дополнительной информации).

      Параметры:

      buttonOrder - Порядок кнопок, используемый в этом экземпляре ButtonBar.

  • Подробное описание методов

    • setButtonData

      public static void setButtonData(Node button,
                                       ButtonBar.ButtonData buttonData)
      Устанавливает заданные ButtonData на заданную кнопку. Если эта кнопка впоследствии будет размещена в ButtonBar, она будет размещена в правильном положении относительно всех других кнопок на панели.

      Параметры:

      button - Кнопка, для которой задаётся значение ButtonBar.ButtonData.

    • getButtonData

      public static ButtonBar.ButtonData getButtonData(Node button)
      Возвращает ранее установленное свойство ButtonData для данной кнопки. Если оно никогда не устанавливалось, метод вернёт null.

      Параметры:

      button - Кнопка, для которой возвращается ранее установленное значение ButtonData.

    • setButtonUniformSize

      public static void setButtonUniformSize(Node button,
                                              boolean uniformSize)
      По умолчанию все кнопки в ButtonBar имеют одинаковый размер, т.е. все кнопки занимают ширину самой широкой кнопки. Можно отключить это на уровне отдельных кнопок, вызвав метод setButtonUniformSize с логическим значением false.

      Если кнопка исключается из вычисления одинакового размера, она исключается как из изменения размера от предпочтительного, так и из процесса измерения, поэтому её размер не повлияет на максимальный размер, рассчитанный для всех кнопок в ButtonBar.

      Параметры:

      button - Кнопка, которая включается/исключается из вычисления одинакового размера.

    • isButtonUniformSize

      public static boolean isButtonUniformSize(Node button)
      Возвращает значение, указывающее, участвует ли данный узел в вычислениях одинакового размера. По умолчанию все узлы, которые не отказались от участия (через setButtonUniformSize(Node, boolean)), вернут здесь true.
    • createDefaultSkin

      protected Skin<?> createDefaultSkin()
      Создаёт новый экземпляр стандартной темы для этого элемента управления. Вызывается для создания темы элемента управления, если тема не задана через CSS -fx-skin или явно установлена в подклассе с setSkin(...).

      Переопределяет:

      createDefaultSkin в классе Control

      Возвращает:

      новый экземпляр стандартной темы для этого элемента управления. Если null, то у элемента управления не будет темы, если её не предоставляет css.

    • getButtons

      public final ObservableList<Node> getButtons()
      Размещение кнопок в этом ObservableList указывает ButtonBar на размещение кнопок относительно друг друга на основе их заданных ButtonBar.ButtonData. Чтобы установить ButtonData для кнопки, просто вызовите setButtonData(Node, ButtonData), передав соответствующее значение ButtonData.

      Возвращает:

      Список, содержащий все кнопки, которые в данный момент находятся на панели кнопок, и позволяющий добавлять или удалять дополнительные кнопки.

    • buttonOrderProperty

      public final StringProperty buttonOrderProperty()
      Порядок стандартных кнопок в стандартной панели кнопок. Одна буква на значение перечисления ButtonBar.ButtonData. Также доступны стандартные порядки кнопок для операционных систем: BUTTON_ORDER_WINDOWS, BUTTON_ORDER_MAC_OS и BUTTON_ORDER_LINUX.

      См. также:

      getButtonOrder(), setButtonOrder(String)

    • setButtonOrder

      public final void setButtonOrder(String buttonOrder)
      Устанавливает button order

      Параметры:

      buttonOrder - Текущий порядок кнопок, который по умолчанию будет соответствовать порядку кнопок для текущей операционной системы.

    • getButtonOrder

      public final String getButtonOrder()
      Возвращает текущий button order.

      Возвращает:

      Текущий button order.

    • buttonMinWidthProperty

      public final DoubleProperty buttonMinWidthProperty()
      Устанавливает минимальную ширину всех кнопок, размещённых на этой панели кнопок.

      См. также:

      getButtonMinWidth(), setButtonMinWidth(double)

    • setButtonMinWidth

      public final void setButtonMinWidth(double value)
      Устанавливает минимальную ширину всех кнопок, размещённых на этой панели кнопок.
    • getButtonMinWidth

      public final double getButtonMinWidth()
      Возвращает минимальную ширину всех кнопок, размещённых на этой панели кнопок.

© 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