Spec-Zone.ru › OpenJavaFX 24

Класс 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) со значением 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

Краткое описание вложенных классов

Модификатор и тип Класс Описание
static enum  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 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, requestFocusTraversal, 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 - Порядок кнопок для использования в этом экземпляре ButtonBar.

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

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()
Возвращает начальное состояние focus traversable для этого элемента управления, которое используется движком JavaFX CSS для правильного задания его начального значения. Этот метод переопределяется, так как по умолчанию элементы управления пользовательского интерфейса имеют focus traversable, установленное в true, но это не подходит для этого элемента управления.
Переопределяет:
getInitialFocusTraversable в классе Control
Возвращает:
начальное состояние focus traversable для этого элемента управления
С тех пор:
9

Сообщить об ошибке или предложить улучшение
Авторские права © 2008, 2025, Oracle и/или его филиалы. Все права защищены.

© 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