Класс LabeledSkinBase<C extends Labeled>
java.lang.Object
javafx.scene.control.SkinBase<C>
javafx.scene.control.skin.LabeledSkinBase<C>
- Все реализуемые интерфейсы:
Skin<C>
- Непосредственные известные подклассы:
-
ButtonSkin,CellSkinBase,CheckBoxSkin,HyperlinkSkin,LabelSkin,RadioButtonSkin,TitledPaneSkin,ToggleButtonSkin
public abstract class LabeledSkinBase<C extends Labeled> extends SkinBase<C>
Реализация по умолчанию для скинов элементов управления, расширяющая
Labeled.- C момента:
- 9
- См. также:
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
LabeledSkinBase |
Конструктор для LabeledSkinBase. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
double |
computeBaselineOffset |
Вычисляет смещение базовой линии, основываясь на первом управляемом дочернем элементе. |
protected double |
computeMinWidth |
Вычисляет и возвращает минимальную ширину данного Labeled. |
protected void |
layoutChildren |
Алгоритм вычисления макета работает следующим образом: - Получение ширины/высоты Labeled, ширины/высоты графического элемента, ширины/высоты текста. - Вычисление ширины/высоты содержимого, основываясь на graphicVPos, graphicHPos, graphicTextGap, ширине/высоте графического элемента и ширине/высоте текста. - (Обратите внимание, что содержимое текста предварительно обрезано при необходимости). - Вычисление координат x/y содержимого, основываясь на ширине/высоте содержимого, ширине/высоте Labeled и его горизонтальном/вертикальном выравнивании. - Размещение графического элемента и текста. |
protected void |
layoutLabelInArea |
Выполняет фактическое размещение содержимого метки в заданной области. |
protected void |
layoutLabelInArea |
Выполняет фактическое размещение содержимого метки в заданной области. |
protected void |
updateChildren() |
Обновляет управляемые дочерние элементы LabeledSkinBase, которые могут быть графическим элементом Labeled и/или узлом Text. Используются только те узлы, которые действительно необходимы. Например, при ContentDisplay GRAPHIC_ONLY узел текста не добавляется, а при ContentDisplay TEXT_ONLY графический элемент не добавляется. |
Методы, объявленные в классе javafx.scene.control.SkinBase
computeMaxHeight, computeMaxWidth, computeMinHeight, computePrefHeight, computePrefWidth, consumeMouseEvents, dispose, executeAccessibleAction, getChildren, getClassCssMetaData, getCssMetaData, getNode, getSkinnable, layoutInArea, layoutInArea, layoutInArea, positionInArea, positionInArea, pseudoClassStateChanged, queryAccessibleAttribute, registerChangeListener, registerInvalidationListener, registerListChangeListener, snappedBottomInset, snappedLeftInset, snappedRightInset, snappedTopInset, snapPosition, snapPositionX, snapPositionY, snapSize, snapSizeX, snapSizeY, snapSpace, snapSpaceX, snapSpaceY, unregisterChangeListeners, unregisterInvalidationListeners, unregisterListChangeListeners
Подробное описание конструкторов
LabeledSkinBase
public LabeledSkinBase(C labeled)
Конструктор для LabeledSkinBase. Labeled должен быть указан и не может быть null. По окончании вызова конструктора, skin будет помечен как needingLayout и будет полностью настроен в соответствии с текущим состоянием Labeled. Любые последующие изменения Labeled будут обрабатываться с помощью слушателей и применяться соответствующим образом.
- Параметры:
-
labeled- Labeled, на котором должен быть установлен этот skin.
Подробное описание методов
updateChildren
protected void updateChildren()
Обновляет управляемые дочерние элементы LabeledSkinBase, которые могут быть графическим элементом Labeled и/или узлом Text. Используются только те узлы, которые действительно необходимы. Например, при ContentDisplay GRAPHIC_ONLY узел текста не добавляется, а при ContentDisplay TEXT_ONLY графический элемент не добавляется.
computeMinWidth
protected double computeMinWidth(double height, double topInset, double rightInset, double bottomInset, double leftInset)
Вычисляет и возвращает минимальную ширину данного Labeled. Минимальная ширина — это меньшее из значения ширины "..." и ширины с фактическим текстом. Таким образом, если ширина самого текста меньше ширины "...", мы должны использовать её как минимальную ширину, иначе минимальной шириной должна быть ширина "...".
Мы используем тот же расчет независимо от того, является ли Labeled однострочным или многострочным. Поэтому многострочный Labeled может обнаружить, что ширина "..." — это наименьшая возможная ширина.
- Переопределяет:
-
computeMinWidthв классеSkinBase<C extends Labeled> - Параметры:
-
height- Высота Skin, в случае если это значение может повлиять на минимальную ширину. -
topInset- пиксельное смещение сверху -
rightInset- пиксельное смещение справа -
bottomInset- пиксельное смещение снизу -
leftInset- пиксельное смещение слева - Возвращает:
- Значение типа double, представляющее минимальную ширину этого Skin.
computeBaselineOffset
public double computeBaselineOffset(double topInset, double rightInset, double bottomInset, double leftInset)
Вычисляет смещение базовой линии, основываясь на первом управляемом дочернем элементе. Если такого элемента нет, возвращает
Node.getBaselineOffset().- Переопределяет:
-
computeBaselineOffsetв классеSkinBase<C extends Labeled> - Параметры:
-
topInset- пиксельное смещение сверху -
rightInset- пиксельное смещение справа -
bottomInset- пиксельное смещение снизу -
leftInset- пиксельное смещение слева - Возвращает:
- смещение базовой линии
layoutChildren
protected void layoutChildren(double x, double y, double w, double h)
Алгоритм вычисления макета работает следующим образом: - Получение ширины/высоты Labeled, ширины/высоты графического элемента, ширины/высоты текста. - Вычисление ширины/высоты содержимого, основываясь на graphicVPos, graphicHPos, graphicTextGap, ширине/высоте графического элемента и ширине/высоте текста. - (Обратите внимание, что содержимое текста предварительно обрезано при необходимости). - Вычисление координат x/y содержимого, основываясь на ширине/высоте содержимого, ширине/высоте Labeled и его горизонтальном/вертикальном выравнивании. - Размещение графического элемента и текста.
- Переопределяет:
-
layoutChildrenв классеSkinBase<C extends Labeled> - Параметры:
-
x- позиция x -
y- позиция y -
w- ширина -
h- высота
layoutLabelInArea
protected void layoutLabelInArea(double x, double y, double w, double h)
Выполняет фактическое размещение содержимого метки в заданной области. Этот метод вызывается подклассами, переопределяющими layoutChildren().
- Параметры:
-
x- Позиция x части метки элемента управления, внутри отступов -
y- Позиция y части метки элемента управления, внутри отступов -
w- Ширина части метки элемента управления, не включая отступы -
h- Высота части метки элемента управления, не включая отступы
layoutLabelInArea
protected void layoutLabelInArea(double x, double y, double w, double h, Pos alignment)
Выполняет фактическое размещение содержимого метки в заданной области. Этот метод вызывается подклассами, переопределяющими layoutChildren().
- Параметры:
-
x- Позиция x части метки элемента управления, внутри отступов -
y- Позиция y части метки элемента управления, внутри отступов -
w- Ширина части метки элемента управления, не включая отступы -
h- Высота части метки элемента управления, не включая отступы -
alignment- Выравнивание части метки элемента управления в заданной области. Если null, используется выравнивание элемента управления.
© 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.