Spec-Zone.ru › OpenJavaFX 21

Класс 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:

Таблица расположения ButtonBar
Операционная система Порядок кнопок
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

Сводка свойств

Тип Свойство Описание
final DoubleProperty buttonMinWidth
Устанавливает минимальную ширину всех кнопок, размещённых в этой панели кнопок.
final 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, focusVisible, focusWithin, 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, viewOrder, visible

Сводка вложенных классов

Модификатор и тип Класс Описание
static enum  ButtonBar.ButtonData
Перечисление всех доступных аннотаций данных кнопок.

Сводка полей

Модификатор и тип Поле Описание
static final String BUTTON_ORDER_LINUX
Стандартный порядок кнопок в Linux (в частности, GNOME).
static final String BUTTON_ORDER_MAC_OS
Стандартный порядок кнопок в Mac OS.
static final String BUTTON_ORDER_NONE
Строка порядка кнопок, указывающая, что порядок кнопок отсутствует.
static final 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() для получения дополнительной информации).

Сводка методов

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

Методы, объявленные в классе javafx.scene.control.Control

computeMaxHeight, computeMaxWidth, computeMinHeight, computeMinWidth, contextMenuProperty, createDefaultSkin, getClassCssMetaData, getContextMenu, getControlCssMetaData, getCssMetaData, getSkin, getTooltip, isResizable, setContextMenu, setSkin, setTooltip, skinProperty, tooltipProperty

Методы, объявленные в классе javafx.scene.layout.Region

backgroundProperty, borderProperty, cacheShapeProperty, centerShapeProperty, computePrefHeight, computePrefWidth, 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, snapPositionX, snapPositionY, snapSize, snapSizeX, snapSizeY, snapSpace, snapSpaceX, snapSpaceY, snapToPixelProperty, widthProperty

Методы, объявленные в классе javafx.scene.Parent

getBaselineOffset, getChildren, getChildrenUnmodifiable, getManagedChildren, getStylesheets, isNeedsLayout, layout, layoutChildren, 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, executeAccessibleAction, fireEvent, focusedProperty, focusTraversableProperty, focusVisibleProperty, focusWithinProperty, getAccessibleHelp, getAccessibleRole, getAccessibleRoleDescription, getAccessibleText, getBlendMode, getBoundsInLocal, getBoundsInParent, getCacheHint, getClip, getContentBias, getCursor, getDepthTest, getEffect, getEffectiveNodeOrientation, getEventDispatcher, getId, getInitialCursor, 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, getViewOrder, hasProperties, hoverProperty, idProperty, inputMethodRequestsProperty, intersects, intersects, isCache, isDisable, isDisabled, isFocused, isFocusTraversable, isFocusVisible, isFocusWithin, 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, lookup, 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, queryAccessibleAttribute, 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, setViewOrder, setVisible, snapshot, snapshot, startDragAndDrop, startFullDrag, styleProperty, toBack, toFront, toString, translateXProperty, translateYProperty, translateZProperty, usesMirroring, viewOrderProperty, visibleProperty

Методы, объявленные в классе java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

Методы, объявленные в интерфейсе javafx.css.Styleable

getStyleableNode

Подробности свойства

buttonOrder

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

buttonMinWidth

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

Подробности поля

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 - Порядок кнопок для использования в этом экземпляре панели кнопок.

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

setButtonData

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

getButtonData

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

setButtonUniformSize

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

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

Параметры:
button - Кнопка, для которой необходимо включить/исключить одинаковый размер.
uniformSize - Булево значение true для принудительного вычисления одинакового размера для кнопки, false для исключения кнопки из вычисления одинакового размера.

isButtonUniformSize

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

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)
Устанавливает минимальную ширину всех кнопок, размещённых в этой панели кнопок.
Параметры:
value - значение минимальной ширины

getButtonMinWidth

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

getInitialFocusTraversable

protected Boolean getInitialFocusTraversable()
Возвращает начальное состояние фокусировки данного элемента управления, используемое движком JavaFX CSS для правильной установки его начального значения. Этот метод переопределяется, так как по умолчанию элементы управления пользовательского интерфейса имеют фокусировку, установленную в значение true, но это не подходит для данного элемента управления.
Переопределяет:
getInitialFocusTraversable в классе Control
Возвращает:
начальное состояние фокусировки данного элемента управления
С:
9

© 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