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

Класс SkinBase<C extends Control>

java.lang.Object
  • javafx.scene.control.SkinBase<C>

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

Skin<C>



public abstract class SkinBase<C extends Control>
extends Object
implements Skin<C>
Базовый реализующий класс для определения визуального представления элементов управления пользовательского интерфейса, определяя граф сцены узлов для представления skin. Элемент управления пользовательского интерфейса абстрагируется за интерфейсом Skinnable.

С тех пор:

JavaFX 8.0

  • Краткое описание конструкторов

    Конструкторы
    Модификатор Конструктор и описание
    protected SkinBase(C control)
    Конструктор для всех экземпляров SkinBase.
  • Краткое описание методов

    Все методыСтатические методыМетоды экземпляровКонкретные методы
    Модификатор и тип Метод и описание
    protected double computeBaselineOffset(double topInset, double rightInset, double bottomInset, double leftInset)
    Вычисляет смещение базовой линии на основе первого управляемого дочернего элемента.
    protected double computeMaxHeight(double width, double topInset, double rightInset, double bottomInset, double leftInset)
    Вычисляет максимальную допустимую высоту Skin, на основе предоставленной ширины.
    protected double computeMaxWidth(double height, double topInset, double rightInset, double bottomInset, double leftInset)
    Вычисляет максимальную допустимую ширину Skin, на основе предоставленной высоты.
    protected double computeMinHeight(double width, double topInset, double rightInset, double bottomInset, double leftInset)
    Вычисляет минимальную допустимую высоту Skin, на основе предоставленной ширины.
    protected double computeMinWidth(double height, double topInset, double rightInset, double bottomInset, double leftInset)
    Вычисляет минимальную допустимую ширину Skin, на основе предоставленной высоты.
    protected double computePrefHeight(double width, double topInset, double rightInset, double bottomInset, double leftInset)
    Вычисляет предпочтительную высоту этого SkinBase.
    protected double computePrefWidth(double height, double topInset, double rightInset, double bottomInset, double leftInset)
    Вычисляет предпочтительную ширину этого SkinBase.
    protected void consumeMouseEvents(boolean value)
    Определяет, должны ли все события мыши автоматически потребляться.
    void dispose()
    Вызывается Skinnable, когда Skin заменяется на Skinnable.
    protected void executeAccessibleAction(AccessibleAction action, Object... parameters)
    ObservableList<Node> getChildren()
    Возвращает дочерние элементы skin.
    static List<CssMetaData<? extends Styleable,?>> getClassCssMetaData()
    List<CssMetaData<? extends Styleable,?>> getCssMetaData()
    Этот метод должен делегировать Node.getClassCssMetaData(), чтобы CssMetaData узла можно было получить без необходимости рефлексии.
    Node getNode()
    Получает узел, представляющий этот Skin.
    C getSkinnable()
    Получает Skinnable, которому назначен этот Skin.
    protected void layoutChildren(double contentX, double contentY, double contentWidth, double contentHeight)
    Вызывается во время прохода макета сцены.
    protected void layoutInArea(Node child, double areaX, double areaY, double areaWidth, double areaHeight, double areaBaselineOffset, HPos halignment, VPos valignment)
    Утилитарный метод, который размещает дочерний элемент внутри области этого skin, определенной areaX, areaY, areaWidth x areaHeight, со смещением базовой линии относительно этой области.
    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)
    Утилитарный метод, который размещает дочерний элемент внутри области этого skin, определенной areaX, areaY, areaWidth x areaHeight, со смещением базовой линии относительно этой области.
    protected void layoutInArea(Node child, double areaX, double areaY, double areaWidth, double areaHeight, double areaBaselineOffset, Insets margin, HPos halignment, VPos valignment)
    Утилитарный метод, который размещает дочерний элемент внутри области этого skin, определенной areaX, areaY, areaWidth x areaHeight, со смещением базовой линии относительно этой области.
    protected void positionInArea(Node child, double areaX, double areaY, double areaWidth, double areaHeight, double areaBaselineOffset, HPos halignment, VPos valignment)
    Утилитарный метод, который позиционирует дочерний элемент внутри области этого skin, определенной areaX, areaY, areaWidth x areaHeight, со смещением базовой линии относительно этой области.
    protected void positionInArea(Node child, double areaX, double areaY, double areaWidth, double areaHeight, double areaBaselineOffset, Insets margin, HPos halignment, VPos valignment)
    Утилитарный метод, который позиционирует дочерний элемент внутри области этого skin, определенной areaX, areaY, areaWidth x areaHeight, со смещением базовой линии относительно этой области.
    void pseudoClassStateChanged(PseudoClass pseudoClass, boolean active)
    protected Object queryAccessibleAttribute(AccessibleAttribute attribute, Object... parameters)
    protected double snappedBottomInset()
    Утилитарный метод для получения нижнего отступа, который включает отступ padding и border.
    protected double snappedLeftInset()
    Утилитарный метод для получения левого отступа, который включает отступ padding и border.
    protected double snappedRightInset()
    Утилитарный метод для получения правого отступа, который включает отступ padding и border.
    protected double snappedTopInset()
    Утилитарный метод для получения верхнего отступа, который включает отступ padding и border.
    protected double snapPosition(double value)
    Если свойство snapToPixel этого региона true, возвращает значение, округлённое до ближайшего пикселя, иначе возвращает то же значение.
    protected double snapSize(double value)
    Если свойство snapToPixel этого региона true, возвращает значение, округленное вверх до ближайшего пикселя, иначе возвращает то же значение.
    protected double snapSpace(double value)
    Если свойство snapToPixel этого региона true, возвращает значение, округлённое до ближайшего пикселя, иначе возвращает то же значение.
    • Методы, унаследованные от класса java.lang.Object

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

    • 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 и правильно установить взаимосвязь между элементом управления и его Skin.

      Определено в:

      getSkinnable в интерфейсе Skin<C extends Control>

      Возвращает:

      Не-null Skinnable или значение null, если Skin удален.

    • getNode

      public final Node getNode()
      Возвращает узел, представляющий этот Skin. Он никогда не должен быть null, за исключением случаев после вызова Skin.dispose(), и он никогда не должен изменяться, кроме как при изменении на null.

      Определено в:

      getNode в интерфейсе Skin<C extends Control>

      Возвращает:

      Не-null узел, кроме случаев, когда Skin был удален.

    • dispose

      public void dispose()
      Вызывается Skinnable, когда Skin заменяется на Skinnable. Этот метод позволяет Skin реализовать любую необходимую логику для очистки после того, как Skin больше не нужен. Может использоваться для освобождения нативных ресурсов. Методы Skin.getSkinnable() и Skin.getNode() должны возвращать null после вызова dispose. Вызов dispose дважды не имеет эффекта.

      Определено в:

      dispose в интерфейсе Skin<C extends Control>

    • getChildren

      public final ObservableList<Node> getChildren()
      Возвращает дочерние элементы Skin.
    • layoutChildren

      protected void layoutChildren(double contentX,
                                    double contentY,
                                    double contentWidth,
                                    double contentHeight)
      Вызывается во время прохода по макетированию сцены.
    • consumeMouseEvents

      protected final void consumeMouseEvents(boolean value)
      Определяет, должны ли все события мыши автоматически потребляться.
    • computeMinWidth

      protected double computeMinWidth(double height,
                                       double topInset,
                                       double rightInset,
                                       double bottomInset,
                                       double leftInset)
      Вычисляет минимально допустимую ширину Skin на основе предоставленной высоты.

      Параметры:

      height - Высота Skin, в случае если это значение может диктовать минимальную ширину.

      Возвращает:

      Double, представляющий минимальную ширину этого Skin.

    • computeMinHeight

      protected double computeMinHeight(double width,
                                        double topInset,
                                        double rightInset,
                                        double bottomInset,
                                        double leftInset)
      Вычисляет минимально допустимую высоту Skin на основе предоставленной ширины.

      Параметры:

      width - Ширина Skin, в случае если это значение может диктовать минимальную высоту.

      Возвращает:

      Double, представляющий минимальную высоту этого Skin.

    • computeMaxWidth

      protected double computeMaxWidth(double height,
                                       double topInset,
                                       double rightInset,
                                       double bottomInset,
                                       double leftInset)
      Вычисляет максимально допустимую ширину Skin на основе предоставленной высоты.

      Параметры:

      height - Высота Skin, в случае если это значение может диктовать максимальную ширину.

      Возвращает:

      Double, представляющий максимальную ширину этого Skin.

    • computeMaxHeight

      protected double computeMaxHeight(double width,
                                        double topInset,
                                        double rightInset,
                                        double bottomInset,
                                        double leftInset)
      Вычисляет максимально допустимую высоту Skin на основе предоставленной ширины.

      Параметры:

      width - Ширина Skin, в случае если это значение может диктовать максимальную высоту.

      Возвращает:

      Double, представляющий максимальную высоту этого Skin.

    • computePrefWidth

      protected double computePrefWidth(double height,
                                        double topInset,
                                        double rightInset,
                                        double bottomInset,
                                        double leftInset)
      Вычисляет предпочтительную ширину этого SkinBase. По умолчанию эта ширина вычисляется как ширина области, занимаемой его управляемыми дочерними элементами, когда они расположены в их текущих позициях со своими предпочтительными ширинами.

      Параметры:

      height - высота, которая должна использоваться, если предпочтительная ширина зависит от неё

      Возвращает:

      вычисленную предпочтительную ширину

    • computePrefHeight

      protected double computePrefHeight(double width,
                                         double topInset,
                                         double rightInset,
                                         double bottomInset,
                                         double leftInset)
      Вычисляет предпочтительную высоту этого SkinBase. По умолчанию эта высота вычисляется как высота области, занимаемой его управляемыми дочерними элементами, когда они расположены в их текущих позициях со своими предпочтительными высотами.

      Параметры:

      width - ширина, которая должна использоваться, если предпочтительная высота зависит от неё

      Возвращает:

      вычисленную предпочтительную высоту

    • computeBaselineOffset

      protected double computeBaselineOffset(double topInset,
                                             double rightInset,
                                             double bottomInset,
                                             double leftInset)
      Вычисляет смещение базовой линии на основе первого управляемого дочернего элемента. Если такого элемента нет, возвращает Node.getBaselineOffset().

      Параметры:

      topInset - пиксельное отступ сверху

      Возвращает:

      смещение базовой линии

    • snappedTopInset

      protected double snappedTopInset()
      Утилитарный метод для получения верхнего отступа, включающего отступ и отступ границы. Затем привязан к целым пикселям, если getSkinnable().isSnapToPixel() равно true.

      Возвращает:

      Округленное значение отступа сверху

    • snappedBottomInset

      protected double snappedBottomInset()
      Утилитарный метод для получения нижнего отступа, включающего отступ и отступ границы. Затем привязан к целым пикселям, если getSkinnable().isSnapToPixel() равно true.

      Возвращает:

      Округленное значение отступа снизу

    • snappedLeftInset

      protected double snappedLeftInset()
      Утилитарный метод для получения левого отступа, включающего отступ и отступ границы. Затем привязан к целым пикселям, если getSkinnable().isSnapToPixel() равно true.

      Возвращает:

      Округленное значение отступа слева

    • snappedRightInset

      protected double snappedRightInset()
      Утилитарный метод для получения правого отступа, включающего отступ и отступ границы. Затем привязан к целым пикселям, если getSkinnable().isSnapToPixel() равно true.

      Возвращает:

      Округленное значение отступа справа

    • snapSpace

      protected double snapSpace(double value)
      Если свойство snapToPixel этой области равно true, возвращает значение, округленное до ближайшего пикселя, иначе возвращает то же значение.

      Параметры:

      value - значение отступа, которое нужно округлить

      Возвращает:

      значение, округлённое до ближайшего пикселя

    • snapSize

      protected double snapSize(double value)
      Если свойство snapToPixel этой области равно true, возвращает значение, округленное вверх до ближайшего пикселя, иначе возвращает то же значение.

      Параметры:

      value - значение размера, которое нужно округлить

      Возвращает:

      значение, округленное вверх до ближайшего пикселя

    • snapPosition

      protected double snapPosition(double value)
      Если свойство snapToPixel этой области равно true, возвращает значение, округлённое до ближайшего пикселя, иначе возвращает то же значение.

      Параметры:

      value - значение позиции, которое нужно округлить

      Возвращает:

      значение, округлённое до ближайшего пикселя

    • positionInArea

      protected void positionInArea(Node child,
                                    double areaX,
                                    double areaY,
                                    double areaWidth,
                                    double areaHeight,
                                    double areaBaselineOffset,
                                    HPos halignment,
                                    VPos valignment)
      Утилитарный метод, который размещает дочерний элемент в области этого skin, определённой areaX, areaY, areaWidth x areaHeight, со смещением базовой линии относительно этой области.

      Эта функция не изменяет размеры узла и использует ширину и высоту области макета узла для определения того, как его следует разместить в области.

      Если вертикальное выравнивание равно VPos.BASELINE, то это поместит узел так, чтобы его собственная базовая линия выровнялась с переданной baselineOffset, в противном случае параметр baseline игнорируется.

      Если snapToPixel равно true для этого skin, то значения x/y будут округлены до ближайших пиксельных границ.

      Параметры:

      child - дочерний элемент, который размещается в этом skin

    • positionInArea

      protected void positionInArea(Node child,
                                    double areaX,
                                    double areaY,
                                    double areaWidth,
                                    double areaHeight,
                                    double areaBaselineOffset,
                                    Insets margin,
                                    HPos halignment,
                                    VPos valignment)
      Утилитарный метод, который размещает дочерний элемент в области этого skin, определённой areaX, areaY, areaWidth x areaHeight, со смещением базовой линии относительно этой области.

      Эта функция не изменяет размеры узла и использует ширину и высоту области макета узла для определения того, как его следует разместить в области.

      Если вертикальное выравнивание равно VPos.BASELINE, то это поместит узел так, чтобы его собственная базовая линия выровнялась с переданной baselineOffset, в противном случае параметр baseline игнорируется.

      Если snapToPixel равно true для этого skin, то значения x/y будут округлены до ближайших пиксельных границ.

      Если margin не равно null, то этот пробел будет выделен вокруг дочернего элемента внутри области макета. margin может быть null.

      Параметры:

      child - дочерний элемент, который размещается в этом skin

      С тех пор как:

      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, areaWidth x areaHeight, с отступом от базовой линии относительно этой области.

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

      Если у дочернего элемента задан ненулевой параметр contentBias, то этот метод воспользуется им при изменении размера дочернего элемента. Если contentBias горизонтальный, он сначала задаст его ширину на размер ширины области (до максимального ограничения ширины дочернего элемента), а затем передаст это значение для вычисления высоты дочернего элемента. Если contentBias дочернего элемента вертикальный, то он задаст его высоту на размер высоты области (до максимального ограничения высоты дочернего элемента), а затем передаст эту высоту для вычисления ширины дочернего элемента. Если contentBias дочернего элемента равен null, то его ширина и высота не зависят друг от друга.

      Если дочерний элемент не изменяем по размеру (Shape, Group и т. д.), то он будет только позиционирован, но не изменён по размеру.

      Если конечный размер дочернего элемента отличается от размера области (либо потому, что он не изменяем по размеру, либо из-за его предпочтений в настройках размера), то эта функция выровняет узел относительно области, используя значения горизонтального и вертикального выравнивания. Если valignment равен VPos.BASELINE, то базовая линия узла будет выровнена с параметром смещения базовой линии области, в противном случае параметр базовой линии игнорируется.

      Если snapToPixel равно true для данного стиля, то результирующие значения x, y будут округлены до ближайшего пикселя, а значения ширины/высоты будут округлены до ближайшего большего пикселя.

      Параметры:

      child - дочерний элемент, позиционируемый в данном стиле

    • layoutInArea

      protected void layoutInArea(Node child,
                                  double areaX,
                                  double areaY,
                                  double areaWidth,
                                  double areaHeight,
                                  double areaBaselineOffset,
                                  Insets margin,
                                  HPos halignment,
                                  VPos valignment)
      Утилитарный метод, который размещает дочерний элемент в области данного стиля, определённой параметрами areaX, areaY, areaWidth x areaHeight, с отступом от базовой линии относительно этой области.

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

      Если у дочернего элемента задан ненулевой параметр contentBias, то этот метод воспользуется им при изменении размера дочернего элемента. Если contentBias горизонтальный, он сначала задаст его ширину на размер ширины области (до максимального ограничения ширины дочернего элемента), а затем передаст это значение для вычисления высоты дочернего элемента. Если contentBias дочернего элемента вертикальный, то он задаст его высоту на размер высоты области (до максимального ограничения высоты дочернего элемента), а затем передаст эту высоту для вычисления ширины дочернего элемента. Если contentBias дочернего элемента равен null, то его ширина и высота не зависят друг от друга.

      Если дочерний элемент не изменяем по размеру (Shape, Group и т. д.), то он будет только позиционирован, но не изменён по размеру.

      Если конечный размер дочернего элемента отличается от размера области (либо потому, что он не изменяем по размеру, либо из-за его предпочтений в настройках размера), то эта функция выровняет узел относительно области, используя значения горизонтального и вертикального выравнивания. Если valignment равен VPos.BASELINE, то базовая линия узла будет выровнена с параметром смещения базовой линии области, в противном случае параметр базовой линии игнорируется.

      Если margin не равен null, то это пространство будет выделено вокруг дочернего элемента в области макета. Отступ может быть null.

      Если snapToPixel равно true для данного стиля, то результирующие значения x, y будут округлены до ближайшего пикселя, а значения ширины/высоты будут округлены до ближайшего большего пикселя.

      Параметры:

      child - дочерний элемент, позиционируемый в данном стиле

    • 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, areaWidth x areaHeight, с отступом от базовой линии относительно этой области.

      Если дочерний элемент изменяем по размеру, этот метод использует fillWidth и fillHeight для определения, следует ли изменять его размер для заполнения области или сохранить размеры дочернего элемента. Если fillWidth/fillHeight равны true, то этот метод будет изменять размер дочернего элемента только до его максимальных размеров. Если предпочтительный максимальный размер узла меньше размера области, будет использован максимальный размер. Если максимальный размер узла больше размера области, то узел будет изменён для подгонки под область, если его минимальный размер не препятствует этому.

      Если у дочернего элемента задан ненулевой параметр contentBias, то этот метод воспользуется им при изменении размера дочернего элемента. Если contentBias горизонтальный, он сначала задаст его ширину, а затем передаст это значение для вычисления высоты дочернего элемента. Если contentBias дочернего элемента вертикальный, то он сначала задаст его высоту, а затем передаст это значение для вычисления ширины дочернего элемента. Если contentBias дочернего элемента равен null, то его ширина и высота не зависят друг от друга.

      Если дочерний элемент не изменяем по размеру (Shape, Group и т. д.), то он будет только позиционирован, но не изменён по размеру.

      Если конечный размер дочернего элемента отличается от размера области (либо потому, что он не изменяем по размеру, либо из-за его предпочтений в настройках размера), то эта функция выровняет узел относительно области, используя значения горизонтального и вертикального выравнивания. Если valignment равен VPos.BASELINE, то базовая линия узла будет выровнена с параметром смещения базовой линии области, в противном случае параметр базовой линии игнорируется.

      Если margin не равен null, то это пространство будет выделено вокруг дочернего элемента в области макета. Отступ может быть null.

      Если snapToPixel равно true для данного стиля, то результирующие значения x, y будут округлены до ближайшего пикселя, а значения ширины/высоты будут округлены до ближайшего большего пикселя.

      Параметры:

      child - дочерний элемент, позиционируемый в данном стиле

    • getClassCssMetaData

      public static List<CssMetaData<? extends Styleable,?>> getClassCssMetaData()

      Возвращает:

      CssMetaData, связанный с этим классом, который может включать CssMetaData его суперклассов.

    • getCssMetaData

      public List<CssMetaData<? extends Styleable,?>> getCssMetaData()
      Этот метод должен делегировать Node.getClassCssMetaData(), чтобы CssMetaData узла можно было получить без необходимости в рефлексии.

      Возвращает:

      CssMetaData, связанный с этим узлом, который может включать CssMetaData его суперклассов.

    • pseudoClassStateChanged

      public final void pseudoClassStateChanged(PseudoClass pseudoClass,
                                                boolean active)

      См. также:

      Node.pseudoClassStateChanged(javafx.css.PseudoClass, boolean)

    • queryAccessibleAttribute

      protected Object queryAccessibleAttribute(AccessibleAttribute attribute,
                                                Object... parameters)

      См. также:

      Node.queryAccessibleAttribute(javafx.scene.AccessibleAttribute, java.lang.Object...)

    • executeAccessibleAction

      protected void executeAccessibleAction(AccessibleAction action,
                                             Object... parameters)

      См. также:

      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.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API