- java.lang.Object
-
- javafx.scene.control.SkinBase<C>
-
- Все реализованные интерфейсы:
Skin<C>
- Прямые известные подклассы:
-
AccordionSkin,ButtonBarSkin,ChoiceBoxSkin,ComboBoxBaseSkin,HTMLEditorSkin,LabeledSkinBase,MenuBarSkin,MenuButtonSkinBase,PaginationSkin,ProgressIndicatorSkin,ScrollBarSkin,ScrollPaneSkin,SeparatorSkin,SliderSkin,SpinnerSkin,SplitPaneSkin,TabPaneSkin,TextInputControlSkin,ToolBarSkin,VirtualContainerBase
public abstract class SkinBase<C extends Control> extends Object implements Skin<C>
Базовый класс реализации для определения визуального представления элементов управления пользовательского интерфейса путём определения графического дерева узлов для представленияskin. Элемент управления пользовательского интерфейса абстрагируется через интерфейсSkinnable.- С момента:
- JavaFX 8.0
-
Краткое описание методов
Все методыСтатические методыМетоды экземпляраКонкретные методыУстаревшие методы Модификатор и тип Метод Описание protected doublecomputeBaselineOffset(double topInset, double rightInset, double bottomInset, double leftInset)Вычисляет смещение базовой линии на основе первого управляемого дочернего элемента.protected doublecomputeMaxHeight(double width, double topInset, double rightInset, double bottomInset, double leftInset)Вычисляет максимальную разрешённую высоту элемента Skin, на основе предоставленной ширины.protected doublecomputeMaxWidth(double height, double topInset, double rightInset, double bottomInset, double leftInset)Вычисляет максимальную разрешённую ширину элемента Skin, на основе предоставленной высоты.protected doublecomputeMinHeight(double width, double topInset, double rightInset, double bottomInset, double leftInset)Вычисляет минимальную разрешённую высоту элемента Skin, на основе предоставленной ширины.protected doublecomputeMinWidth(double height, double topInset, double rightInset, double bottomInset, double leftInset)Вычисляет минимальную разрешённую ширину элемента Skin, на основе предоставленной высоты.protected doublecomputePrefHeight(double width, double topInset, double rightInset, double bottomInset, double leftInset)Вычисляет предпочтительную высоту этогоSkinBase.protected doublecomputePrefWidth(double height, double topInset, double rightInset, double bottomInset, double leftInset)Вычисляет предпочтительную ширину этогоSkinBase.protected voidconsumeMouseEvents(boolean value)Определяет, должны ли все события мыши автоматически потребляться.voiddispose()Вызывается элементом Skinnable при замене элемента Skin на элементе Skinnable.protected voidexecuteAccessibleAction(AccessibleAction action, Object... parameters)Этот метод вызывается средствами вспомогательной технологии для запроса выполнения действия, указанного в аргументе.ObservableList<Node>getChildren()Возвращает дочерние элементы элемента skin.static List<CssMetaData<? extends Styleable,?>>getClassCssMetaData()Возвращает CssMetaData, связанную с этим классом, которая может включать CssMetaData его суперклассов.List<CssMetaData<? extends Styleable,?>>getCssMetaData()Этот метод должен делегироватьNode.getClassCssMetaData(), чтобы получить доступ к CssMetaData узла без необходимости рефлексии.NodegetNode()Возвращает узел, представляющий этот элемент Skin.CgetSkinnable()Возвращает Skinnable, которому назначен этот элемент Skin.protected voidlayoutChildren(double contentX, double contentY, double contentWidth, double contentHeight)Вызывается во время прохода по дереву сцены.protected voidlayoutInArea(Node child, double areaX, double areaY, double areaWidth, double areaHeight, double areaBaselineOffset, HPos halignment, VPos valignment)Вспомогательный метод, который выкладывает дочерний элемент в области этого skin, определённойareaX,areaY,areaWidthxareaHeight, со смещением базовой линии относительно этой области.protected voidlayoutInArea(Node child, double areaX, double areaY, double areaWidth, double areaHeight, double areaBaselineOffset, Insets margin, boolean fillWidth, boolean fillHeight, HPos halignment, VPos valignment)Вспомогательный метод, который выкладывает дочерний элемент в области этого skin, определённойareaX,areaY,areaWidthxareaHeight, со смещением базовой линии относительно этой области.protected voidlayoutInArea(Node child, double areaX, double areaY, double areaWidth, double areaHeight, double areaBaselineOffset, Insets margin, HPos halignment, VPos valignment)Вспомогательный метод, который выкладывает дочерний элемент в области этого skin, определённойareaX,areaY,areaWidthxareaHeight, со смещением базовой линии относительно этой области.protected voidpositionInArea(Node child, double areaX, double areaY, double areaWidth, double areaHeight, double areaBaselineOffset, HPos halignment, VPos valignment)Вспомогательный метод, который позиционирует дочерний элемент в области этого skin, определённойareaX,areaY,areaWidthxareaHeight, со смещением базовой линии относительно этой области.protected voidpositionInArea(Node child, double areaX, double areaY, double areaWidth, double areaHeight, double areaBaselineOffset, Insets margin, HPos halignment, VPos valignment)Вспомогательный метод, который позиционирует дочерний элемент в области этого skin, определённойareaX,areaY,areaWidthxareaHeight, со смещением базовой линии относительно этой области.voidpseudoClassStateChanged(PseudoClass pseudoClass, boolean active)Используется для указания изменения псевдокласса этого узла.protected ObjectqueryAccessibleAttribute(AccessibleAttribute attribute, Object... parameters)Этот метод вызывается средствами вспомогательной технологии для запроса значения атрибута.protected voidregisterChangeListener(ObservableValue<?> property, Consumer<ObservableValue<?>> consumer)Подклассы могут вызвать этот метод для регистрации того, что они хотят прослушивать события изменения свойств для данного свойства.protected doublesnappedBottomInset()Вспомогательный метод для получения нижней отступки, включающей отступы и отступ границы.protected doublesnappedLeftInset()Вспомогательный метод для получения левого отступа, включающего отступ и отступ границы.protected doublesnappedRightInset()Вспомогательный метод для получения правого отступа, включающего отступ и отступ границы.protected doublesnappedTopInset()Вспомогательный метод для получения верхнего отступа, включающего отступ и отступ границы.protected doublesnapPosition(double value)Устаревший.заменён наsnapPositionX()иsnapPositionY()protected doublesnapPositionX(double value)Удобный метод для доступа к методуsnapPositionX()на элементе skinnable.protected doublesnapPositionY(double value)Удобный метод для доступа к методуsnapPositionY()на элементе skinnable.protected doublesnapSize(double value)Устаревший.заменён наsnapSizeX()иsnapSizeY()protected doublesnapSizeX(double value)Удобный метод для доступа к методуsnapSizeX()на элементе skinnable.protected doublesnapSizeY(double value)Удобный метод для доступа к методуsnapSizeY()на элементе skinnable.
protected doublesnapSpace(double value)Устаревший.заменён наsnapSpaceX()иsnapSpaceY()protected doublesnapSpaceX(double value)Метод для удобного доступа к методуsnapSpaceX()в компоненте с возможностью оформления.protected doublesnapSpaceY(double value)Метод для удобного доступа к методуsnapSpaceY()в компоненте с возможностью оформления.protected Consumer<ObservableValue<?>>unregisterChangeListeners(ObservableValue<?> property)Отменяет регистрацию всех слушателей изменений, зарегистрированных с помощьюregisterChangeListener(ObservableValue, Consumer)для заданного свойства.
-
Подробное описание конструкторов
-
SkinBase
protected SkinBase(C control)
Конструктор для всех экземпляров SkinBase.- Параметры:
-
control- Элемент управления, к которому должен быть прикреплён этот Skin.
-
-
Подробное описание методов
-
getSkinnable
public final C getSkinnable()
Возвращает Skinnable, к которому назначена данная Skin. Skin должна быть создана только для одного Skinnable. Это значение будет изменяться только с не-null на null, когда Skin удаляется из Skinnable, и только как следствие вызоваSkin.dispose().Тот, кто создает Skinnable, также должен создать Skin и должным образом установить связь между Control и его Skin.
- Определено в:
-
getSkinnableв интерфейсеSkin<C extends Control> - Возвращает:
- Не-null Skinnable или значение null, если Skin удалена.
-
getNode
public final Node getNode()
Возвращает Node, представляющий эту Skin. Это никогда не должно быть null, за исключением случая после вызоваSkin.dispose(), и не должно меняться, кроме как при изменении на null.
-
dispose
public void dispose()
Вызывается Skinnable, когда Skin заменяется на Skinnable. Этот метод позволяет Skin реализовывать необходимую логику для очистки после того, как Skin больше не нужна. Может использоваться для освобождения нативных ресурсов. МетодыSkin.getSkinnable()иSkin.getNode()должны возвращать null после вызова dispose. Вызов dispose дважды не имеет эффекта.
-
getChildren
public final ObservableList<Node> getChildren()
Возвращает дочерние элементы Skin.- Возвращает:
- дочерние элементы Skin
-
layoutChildren
protected void layoutChildren(double contentX, double contentY, double contentWidth, double contentHeight)Вызывается во время этапа размещения scenegraph.- Параметры:
-
contentX- позиция по оси X -
contentY- позиция по оси Y -
contentWidth- ширина -
contentHeight- высота
-
consumeMouseEvents
protected final void consumeMouseEvents(boolean value)
Определяет, должны ли все события мыши автоматически потребляться.- Параметры:
-
value- флаг потребления событий мыши
-
registerChangeListener
protected final void registerChangeListener(ObservableValue<?> property, Consumer<ObservableValue<?>> consumer)
Подклассы могут вызывать этот метод, чтобы зарегистрировать необходимость прослушивания событий изменения свойств для заданного свойства. Зарегистрированные экземплярыConsumerбудут выполнены в порядке их регистрации.- Параметры:
-
property- свойство -
consumer- потребитель
-
unregisterChangeListeners
protected final Consumer<ObservableValue<?>> unregisterChangeListeners(ObservableValue<?> property)
Отменяет регистрацию всех слушателей изменений, зарегистрированных с помощьюregisterChangeListener(ObservableValue, Consumer)для данного свойства. В результате данное свойство больше не наблюдается никакими слушателями изменений, но на нем могут быть зарегистрированы дополнительные слушатели другими средствами, не связанными сregisterChangeListener(ObservableValue, Consumer).- Параметры:
-
property- Свойство, для которого должны быть удалены все слушатели. - Возвращает:
- Единственный цепной
Consumer, состоящий из всехconsumers, зарегистрированных черезregisterChangeListener(ObservableValue, Consumer). Если для этого свойства не зарегистрированы никакие потребители, будет возвращено null. - С:
- 9
-
computeMinWidth
protected double computeMinWidth(double height, double topInset, double rightInset, double bottomInset, double leftInset)Вычисляет минимально допустимую ширину Skin, исходя из предоставленной высоты.- Параметры:
-
height- Высота Skin, в случае, если это значение может определить минимальную ширину. -
topInset- отступ сверху в пикселях, с учетом приведения к целым числам -
rightInset- отступ справа в пикселях, с учетом приведения к целым числам -
bottomInset- отступ снизу в пикселях, с учетом приведения к целым числам -
leftInset- отступ слева в пикселях, с учетом приведения к целым числам - Возвращает:
- Значение типа double, представляющее минимальную ширину данной Skin.
-
computeMinHeight
protected double computeMinHeight(double width, double topInset, double rightInset, double bottomInset, double leftInset)Вычисляет минимально допустимую высоту Skin, исходя из предоставленной ширины.- Параметры:
-
width- Ширина Skin, в случае, если это значение может определить минимальную высоту. -
topInset- отступ сверху в пикселях, с учетом приведения к целым числам -
rightInset- отступ справа в пикселях, с учетом приведения к целым числам -
bottomInset- отступ снизу в пикселях, с учетом приведения к целым числам -
leftInset- отступ слева в пикселях, с учетом приведения к целым числам - Возвращает:
- Значение типа double, представляющее минимальную высоту данной Skin.
-
computeMaxWidth
protected double computeMaxWidth(double height, double topInset, double rightInset, double bottomInset, double leftInset)Вычисляет максимально допустимую ширину Skin, исходя из предоставленной высоты.- Параметры:
-
height- Высота Skin, в случае, если это значение может определить максимальную ширину. -
topInset- отступ сверху в пикселях, с учетом приведения к целым числам -
rightInset- отступ справа в пикселях, с учетом приведения к целым числам -
bottomInset- отступ снизу в пикселях, с учетом приведения к целым числам -
leftInset- отступ слева в пикселях, с учетом приведения к целым числам - Возвращает:
- Значение типа double, представляющее максимальную ширину данной Skin.
-
computeMaxHeight
protected double computeMaxHeight(double width, double topInset, double rightInset, double bottomInset, double leftInset)Вычисляет максимально допустимую высоту Skin, исходя из предоставленной ширины.
-
-
snappedBottomInset
protected double snappedBottomInset()
Утилитарный метод для получения нижнего отступа, который включает отступ для отступов и границы. Затем приводится к целым пикселям, если getSkinnable().isSnapToPixel() равно true.- Возвращает:
- Округленный снизу отступ
-
snappedLeftInset
protected double snappedLeftInset()
Утилитарный метод для получения левого отступа, который включает отступ для отступов и границы. Затем приводится к целым пикселям, если getSkinnable().isSnapToPixel() равно true.- Возвращает:
- Округленный слева отступ
-
snappedRightInset
protected double snappedRightInset()
Утилитарный метод для получения правого отступа, который включает отступ для отступов и границы. Затем приводится к целым пикселям, если getSkinnable().isSnapToPixel() равно true.- Возвращает:
- Округленный справа отступ
-
snapSpace
@Deprecated(since="9") protected double snapSpace(double value)
Устарело.заменено наsnapSpaceX()иsnapSpaceY()ЕслиgetSkinnable().isSnapToPixel()равно false, этот метод возвращает то же значение, иначе он пытается вернуть значение, округлённое до ближайшего пикселя, но так как нет указаний, является ли значение вертикальной или горизонтальной мерой, оно может быть приведено к неправильному метрическому размеру пикселей на экранах с разными горизонтальными и вертикальными масштабами.- Параметры:
-
value- значение отступа для приведения к пикселям - Возвращает:
- значение, округлённое до ближайшего пикселя
-
snapSpaceX
protected double snapSpaceX(double value)
Удобный метод для доступа к методуsnapSpaceX()в skinnable. Он эквивалентен вызовуgetSkinnable().snapSpaceX(value).- Параметры:
-
value- значение отступа для приведения к пикселям - Возвращает:
- значение, округлённое до ближайшего пикселя
- С:
- 9
- См. также:
Region.snapSpaceX(double)
-
snapSpaceY
protected double snapSpaceY(double value)
Удобный метод для доступа к методуsnapSpaceY()в skinnable. Он эквивалентен вызовуgetSkinnable().snapSpaceY(value).- Параметры:
-
value- значение отступа для приведения к пикселям - Возвращает:
- значение, округлённое до ближайшего пикселя
- С:
- 9
- См. также:
Region.snapSpaceY(double)
-
snapSize
@Deprecated(since="9") protected double snapSize(double value)
Устарело.заменено наsnapSizeX()иsnapSizeY()ЕслиgetSkinnable().isSnapToPixel()равно false, этот метод возвращает то же значение, иначе он пытается вернуть значение, округленное вверх до ближайшего пикселя, но так как нет указаний, является ли значение вертикальной или горизонтальной мерой, оно может быть округлено вверх до неправильного метрического размера пикселей на экранах с разными горизонтальными и вертикальными масштабами.- Параметры:
-
value- значение размера для приведения к пикселям - Возвращает:
- значение, округленное вверх до ближайшего пикселя
-
snapSizeX
protected double snapSizeX(double value)
Удобный метод для доступа к методуsnapSizeX()в skinnable. Он эквивалентен вызовуgetSkinnable().snapSizeX(value).- Параметры:
-
value- значение размера для приведения к пикселям - Возвращает:
- значение, округленное вверх до ближайшего пикселя
- С:
- 9
- См. также:
Region.snapSizeX(double)
-
snapSizeY
protected double snapSizeY(double value)
Удобный метод для доступа к методуsnapSizeY()в skinnable. Он эквивалентен вызовуgetSkinnable().snapSizeY(value).- Параметры:
-
value- значение размера для приведения к пикселям - Возвращает:
- значение, округленное вверх до ближайшего пикселя
- С:
- 9
- См. также:
Region.snapSizeY(double)
-
snapPosition
@Deprecated(since="9") protected double snapPosition(double value)
Устарело.заменено наsnapPositionX()иsnapPositionY()ЕслиgetSkinnable().isSnapToPixel()равно false, этот метод возвращает то же значение, иначе он пытается вернуть значение, округлённое до ближайшего пикселя, но так как нет указаний, является ли значение вертикальной или горизонтальной мерой, оно может быть приведено к неправильному метрическому размеру пикселей на экранах с разными горизонтальными и вертикальными масштабами.- Параметры:
-
value- значение позиции для приведения к пикселям - Возвращает:
- значение, округлённое до ближайшего пикселя
-
snapPositionX
protected double snapPositionX(double value)
Удобный метод для доступа к методуsnapPositionX()в skinnable. Он эквивалентен вызовуgetSkinnable().snapPositionX(value).- Параметры:
-
value- значение позиции для приведения к пикселям - Возвращает:
- значение, округлённое до ближайшего пикселя
- С:
- 9
- См. также:
Region.snapPositionX(double)
-
snapPositionY
protected double snapPositionY(double value)
Удобный метод для доступа к методуsnapPositionY()в skinnable. Он эквивалентен вызовуgetSkinnable().snapPositionY(value).- Параметры:
-
value- значение позиции для приведения к пикселям - Возвращает:
- значение, округлённое до ближайшего пикселя
- С:
- 9
- См. также:
Region.snapPositionY(double)
-
positionInArea
protected void positionInArea(Node child, double areaX, double areaY, double areaWidth, double areaHeight, double areaBaselineOffset, HPos halignment, VPos valignment)
Утилитарный метод, позиционирующий дочерний элемент внутри области этого skin, определеннойareaX,areaY,areaWidthxareaHeight, со смещением базовой линии относительно этой области.Эта функция не изменяет размер узла и использует ширину и высоту области размещения узла для определения, как его следует позиционировать в области.
Если вертикальное выравнивание равно
VPos.BASELINE, то узел будет позиционироваться так, чтобы его собственная базовая линия выровнялась с переданнойbaselineOffset, в противном случае параметр базовой линии игнорируется.Если
snapToPixelравноtrueдля этого skin, то значения координат x/y будут округляться до ближайших пиксельных границ.- Параметры:
-
child- дочерний элемент, подлежащий позиционированию в этом skin -
areaX- горизонтальное смещение области размещения относительно этого skin -
areaY- вертикальное смещение области размещения относительно этого skin -
areaWidth- ширина области размещения -
areaHeight- высота области размещения -
areaBaselineOffset- смещение базовой линии, используемое, если VPos равно BASELINE -
halignment- горизонтальное выравнивание дочернего элемента в пределах области -
valignment- вертикальное выравнивание дочернего элемента в пределах области
-
-
positionInArea
protected void positionInArea(Node child, double areaX, double areaY, double areaWidth, double areaHeight, double areaBaselineOffset, Insets margin, HPos halignment, VPos valignment)
Утилитарный метод, который позиционирует дочерний элемент внутри области этого стиля, определённой параметрамиareaX,areaY,areaWidthxareaHeight, с отступом от базовой линии относительно этой области.Эта функция не изменяет размеры узла и использует ширину и высоту области размещения узла для определения того, как он должен быть размещён в области.
Если вертикальное выравнивание является
VPos.BASELINE, то узел будет позиционирован так, чтобы его собственная базовая линия выровнялась с переданнойbaselineOffset, в противном случае параметр базовой линии игнорируется.Если
snapToPixelравноtrueдля этого стиля, значения позиции x/y будут округлены до ближайших пиксельных границ.Если
marginне null, то вокруг дочернего элемента внутри области размещения будет выделено это пространство. margin может быть null.- Параметры:
-
child- дочерний элемент, позиционируемый внутри этого стиля -
areaX- горизонтальный отступ области размещения относительно этого стиля -
areaY- вертикальный отступ области размещения относительно этого стиля -
areaWidth- ширина области размещения -
areaHeight- высота области размещения -
areaBaselineOffset- отступ базовой линии, используемый, если VPos равен BASELINE -
margin- отступ (margin) для выделения пространства вокруг дочернего элемента -
halignment- горизонтальное выравнивание дочернего элемента в пределах области -
valignment- вертикальное выравнивание дочернего элемента в пределах области - С момента:
- JavaFX 8.0
-
layoutInArea
protected void layoutInArea(Node child, double areaX, double areaY, double areaWidth, double areaHeight, double areaBaselineOffset, HPos halignment, VPos valignment)
Утилитарный метод, который размещает дочерний элемент внутри области этого стиля, определяемой параметрамиareaX,areaY,areaWidthxareaHeight, с отступом от базовой линии относительно этой области.Если дочерний элемент изменяет размеры, этот метод изменит его размеры для заполнения указанной области, если только максимальный размер узла не препятствует этому. Если предпочтительный максимальный размер узла меньше размера области, будет использован максимальный размер. Если максимальный размер узла больше размера области, то узел будет изменён в соответствии с размерами области, если только минимальный размер не препятствует этому.
Если у дочернего элемента есть ненулевой contentBias, этот метод использует его при изменении размеров дочернего элемента. Если contentBias горизонтальный, он сначала устанавливает ширину до ширины области (до максимальной ширины дочернего элемента), а затем передает это значение для вычисления высоты дочернего элемента. Если contentBias дочернего элемента вертикальный, он устанавливает его высоту в высоту области (до максимальной высоты дочернего элемента) и передает эту высоту для вычисления ширины дочернего элемента. Если contentBias дочернего элемента равен null, ширина и высота не зависят друг от друга.
Если дочерний элемент не изменяет размеры (Shape, Group и т.д.), он только позиционируется, но не изменяет размеры.
Если результирующие размеры дочернего элемента отличаются от размеров области (потому что он не изменяет размеры или его настройки размеров не позволяют этого), эта функция выровняет узел относительно области, используя горизонтальное и вертикальное выравнивание. Если valignment равен
VPos.BASELINE, базовая линия узла выровняется с параметром смещения базовой линии области, в противном случае параметр базовой линии игнорируется.Если
snapToPixelравноtrueдля этого стиля, полученные значения x, y будут округлены до ближайших пиксельных границ, а значения ширины/высоты будут увеличены до ближайшей пиксельной границы.- Параметры:
-
child- дочерний элемент, позиционируемый внутри этого стиля -
areaX- горизонтальный отступ области размещения относительно этого стиля -
areaY- вертикальный отступ области размещения относительно этого стиля -
areaWidth- ширина области размещения -
areaHeight- высота области размещения -
areaBaselineOffset- смещение базовой линии, используемое, если VPos равен BASELINE -
halignment- горизонтальное выравнивание дочернего элемента в пределах области -
valignment- вертикальное выравнивание дочернего элемента в пределах области
-
layoutInArea
protected void layoutInArea(Node child, double areaX, double areaY, double areaWidth, double areaHeight, double areaBaselineOffset, Insets margin, HPos halignment, VPos valignment)
Утилитарный метод, который размещает дочерний элемент внутри области этого стиля, определяемой параметрамиareaX,areaY,areaWidthxareaHeight, с отступом от базовой линии относительно этой области.Если дочерний элемент изменяет размеры, этот метод изменит его размеры для заполнения указанной области, если только максимальный размер узла не препятствует этому. Если предпочтительный максимальный размер узла меньше размера области, будет использован максимальный размер. Если максимальный размер узла больше размера области, то узел будет изменён в соответствии с размерами области, если только минимальный размер не препятствует этому.
Если у дочернего элемента есть ненулевой contentBias, этот метод использует его при изменении размеров дочернего элемента. Если contentBias горизонтальный, он сначала устанавливает ширину до ширины области (до максимальной ширины дочернего элемента), а затем передает это значение для вычисления высоты дочернего элемента. Если contentBias дочернего элемента вертикальный, он устанавливает его высоту в высоту области (до максимальной высоты дочернего элемента) и передает эту высоту для вычисления ширины дочернего элемента. Если contentBias дочернего элемента равен null, ширина и высота не зависят друг от друга.
Если дочерний элемент не изменяет размеры (Shape, Group и т.д.), он только позиционируется, но не изменяет размеры.
Если результирующие размеры дочернего элемента отличаются от размеров области (потому что он не изменяет размеры или его настройки размеров не позволяют этого), эта функция выровняет узел относительно области, используя горизонтальное и вертикальное выравнивание. Если valignment равен
VPos.BASELINE, базовая линия узла выровняется с параметром смещения базовой линии области, в противном случае параметр базовой линии игнорируется.Если
marginне null, то вокруг дочернего элемента внутри области размещения будет выделено это пространство. margin может быть null.Если
snapToPixelравноtrueдля этого стиля, полученные значения x, y будут округлены до ближайших пиксельных границ, а значения ширины/высоты будут увеличены до ближайшей пиксельной границы.- Параметры:
-
child- дочерний элемент, позиционируемый внутри этого стиля -
areaX- горизонтальный отступ области размещения относительно этого стиля -
areaY- вертикальный отступ области размещения относительно этого стиля -
areaWidth- ширина области размещения -
areaHeight- высота области размещения -
areaBaselineOffset- смещение базовой линии, используемое, если VPos равен BASELINE -
margin- отступ (margin) для выделения пространства вокруг дочернего элемента -
halignment- горизонтальное выравнивание дочернего элемента в пределах области -
valignment- вертикальное выравнивание дочернего элемента в пределах области
-
layoutInArea
protected void layoutInArea(Node child, double areaX, double areaY, double areaWidth, double areaHeight, double areaBaselineOffset, Insets margin, boolean fillWidth, boolean fillHeight, HPos halignment, VPos valignment)
Утилитарный метод, который размещает дочерний элемент внутри области этого стиля, определяемой параметрамиareaX,areaY,areaWidthxareaHeight, с отступом от базовой линии относительно этой области.Если дочерний элемент изменяет размеры, этот метод использует
fillWidthиfillHeightдля определения, следует ли изменять его размеры для заполнения области или сохранить размеры дочернего элемента в соответствии с его предпочтительными размерами. Если fillWidth/fillHeight равны true, этот метод будет изменять размеры дочернего элемента только до его максимальных пределов. Если предпочтительный максимальный размер узла меньше размера области, будет использован максимальный размер. Если максимальный размер узла больше размера области, то узел будет изменён в соответствии с размерами области, если только минимальный размер не препятствует этому.Если у дочернего элемента есть ненулевой contentBias, этот метод использует его при изменении размеров дочернего элемента. Если contentBias горизонтальный, он сначала устанавливает ширину, а затем передает это значение для вычисления высоты дочернего элемента. Если contentBias дочернего элемента вертикальный, он сначала устанавливает высоту, а затем передает это значение для вычисления ширины дочернего элемента. Если contentBias дочернего элемента равен null, ширина и высота не зависят друг от друга.
Если дочерний элемент не изменяет размеры (Shape, Group и т.д.), он только позиционируется, но не изменяет размеры.
Если результирующие размеры дочернего элемента отличаются от размеров области (потому что он не изменяет размеры или его настройки размеров не позволяют этого), эта функция выровняет узел относительно области, используя горизонтальное и вертикальное выравнивание. Если valignment равен
VPos.BASELINE, базовая линия узла выровняется с параметром смещения базовой линии области, в противном случае параметр базовой линии игнорируется.Если
marginне null, то вокруг дочернего элемента внутри области размещения будет выделено это пространство. margin может быть null.Если
snapToPixelравноtrueдля этого стиля, полученные значения x, y будут округлены до ближайших пиксельных границ, а значения ширины/высоты будут увеличены до ближайшей пиксельной границы.- Параметры:
-
child- дочерний элемент, позиционируемый внутри этого стиля -
areaX- горизонтальный отступ области размещения относительно этого стиля -
areaY- вертикальный отступ области размещения относительно этого стиля -
areaWidth- ширина области размещения -
areaHeight- высота области размещения -
areaBaselineOffset- смещение базовой линии, используемое, если VPos равен BASELINE -
margin- отступ (margin) для выделения пространства вокруг дочернего элемента -
fillWidth- следует ли изменять ширину дочернего элемента для заполнения области или сохранить его предпочтительную ширину -
fillHeight- следует ли изменять высоту дочернего элемента для заполнения области или сохранить его предпочтительную высоту -
halignment- горизонтальное выравнивание дочернего элемента в пределах области -
valignment- вертикальное выравнивание дочернего элемента в пределах области
-
getClassCssMetaData
public static List<CssMetaData<? extends Styleable,?>> getClassCssMetaData()
Возвращает CssMetaData, связанную с этим классом, которая может включать CssMetaData его суперклассов.- Возвращает:
- CssMetaData, связанную с этим классом, которая может включать CssMetaData его суперклассов
-
-
getCssMetaData
public List<CssMetaData<? extends Styleable,?>> getCssMetaData()
Этот метод должен делегировать вызов методуNode.getClassCssMetaData(), чтобы получить CssMetaData узла без необходимости рефлексии.- Возвращает:
- CssMetaData, связанный с этим узлом, который может включать CssMetaData его суперклассов.
-
pseudoClassStateChanged
public final void pseudoClassStateChanged(PseudoClass pseudoClass, boolean active)
Используется для указания того, что псевдокласс этого узла изменился. Если псевдокласс используется в CSS-селекторе, соответствующем этому узлу, CSS будет повторно применён. Обычно этот метод вызывается из методаinvalidatedсвойства, используемого как псевдокласс. Например:private static final PseudoClass MY_PSEUDO_CLASS_STATE = PseudoClass.getPseudoClass("my-state"); BooleanProperty myPseudoClassState = new BooleanPropertyBase(false) { @Override public void invalidated() { pseudoClassStateChanged(MY_PSEUDO_CLASS_STATE, get()); } @Override public Object getBean() { return MyControl.this; } @Override public String getName() { return "myPseudoClassState"; } };- Параметры:
-
pseudoClass— псевдокласс, состояние которого изменилось -
active— активен ли новый состояние - С момента:
- JavaFX 8.0
- См. также:
Node.pseudoClassStateChanged(javafx.css.PseudoClass, boolean)
-
queryAccessibleAttribute
protected Object queryAccessibleAttribute(AccessibleAttribute attribute, Object... parameters)
Этот метод вызывается вспомогательной технологией для запроса значения атрибута.Этот метод обычно переопределяется подклассами для реализации атрибутов, необходимых для определённой роли.
Если определённый атрибут не обрабатывается, необходимо вызвать реализацию суперкласса.- Параметры:
-
attribute— запрашиваемый атрибут -
parameters— необязательный список параметров - Возвращает:
- значение запрашиваемого атрибута
- С момента:
- JavaFX 8u40
- См. также:
-
AccessibleAttribute,Node.queryAccessibleAttribute(javafx.scene.AccessibleAttribute, java.lang.Object...)
-
executeAccessibleAction
protected void executeAccessibleAction(AccessibleAction action, Object... parameters)
Этот метод вызывается вспомогательной технологией для запроса выполнения действия, указанного в аргументе.Этот метод обычно переопределяется подклассами для реализации действий, необходимых для определённой роли.
Если определённое действие не обрабатывается, необходимо вызвать реализацию суперкласса.- Параметры:
-
action— действие для выполнения -
parameters— необязательный список параметров - С момента:
- JavaFX 8u40
- См. также:
-
AccessibleAction,Node.executeAccessibleAction(javafx.scene.AccessibleAction, java.lang.Object...)
-
© 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.