Spec-Zone.ru › OpenJavaFX 11
Модуль javafx.graphics
Пакет javafx.css

Класс CssMetaData<S extends Styleable,​V>

  • java.lang.Object
    • javafx.css.CssMetaData<S,​V>
  • Параметры типа:
    S - Тип Styleable
    V - Тип, в который преобразуется проанализированное значение.
    Непосредственные подклассы:
    FontCssMetaData
    public abstract class CssMetaData<S extends Styleable,​V>
    extends Object
    Объект CssMetaData предоставляет информацию о CSS-стиле и обеспечивает механизмы для установки значения свойства CSS. Он содержит имя CSS-свойства, тип, в который преобразуется значение CSS, и значение свойства по умолчанию.

    CssMetaData является мостом между значением, которое может быть синтаксически представлено в файле .css, и StyleableProperty. Существует взаимно однозначное соответствие между CssMetaData и StyleableProperty. Как правило, CssMetaData узла включает CssMetaData его предков. Например, CssMetaData прямоугольника включает CssMetaData фигуры и также узла. Во время обработки CSS движок CSS итерируется по CssMetaData узла, ищет проанализированное значение каждого property, преобразует проанализированное значение и устанавливает значение в StyleableProperty.

    Метод Node.getCssMetaData() используется для получения списка List<CssMetaData>. Этот метод вызывается часто, и целесообразно возвращать статический список, а не создавать список при каждом вызове. По соглашению, классы узлов, имеющие CssMetaData, реализуют статический метод getClassCssMetaData(), и принято, чтобы getCssMetaData() просто возвращали getClassCssMetaData(). Цель getClassCssMetaData() — позволить подклассам легко включать CssMetaData какого-либо предка.

    StyleablePropertyFactory значительно упрощает создание StyleableProperty и соответствующего CssMetaData.

    Этот пример является типичной реализацией.

    
     private DoubleProperty gapProperty = new StyleableDoubleProperty(0) {
         @Override
          public CssMetaData<MyWidget,Number> getCssMetaData() {
              return GAP_META_DATA;
          }
    
          @Override
          public Object getBean() {
              return MyWidget.this;
          }
    
          @Override
          public String getName() {
              return "gap";
          }
     };
    
     private static final CssMetaData GAP_META_DATA =
         new CssMetaData<MyWidget,Number>("-my-gap", StyleConverter.getSizeConverter(), 0d) {
    
            @Override
            public boolean isSettable(MyWidget node) {
                return node.gapProperty == null || !node.gapProperty.isBound();
            }
    
            @Override
            public StyleableProperty<Number> getStyleableProperty(MyWidget node) {
                return (StyleableProperty<Number>)node.gapProperty;
            }
     };
    
     private static final List<CssMetaData<? extends Node, ?>> cssMetaDataList;
     static {
         List<CssMetaData<? extends Node, ?>> temp =
             new ArrayList<CssMetaData<? extends Node, ?>>(Control.getClassCssMetaData());
         temp.add(GAP_META_DATA);
         cssMetaDataList = Collections.unmodifiableList(temp);
     }
    
     public static List<CssMetaData<? extends Node, ?>> getClassCssMetaData() {
         return cssMetaDataList;
     }
    
     @Override
     public List<CssMetaData<? extends Node, ?>> getCssMetaData() {
         return getClassCssMetaData();
     }
     
    С:
    JavaFX 8.0
    См. также:
    StyleablePropertyFactory
  • Краткое описание конструкторов

    Конструкторы
    Модификатор Конструктор Описание
    protected CssMetaData​(String property, StyleConverter<?,​V> converter)
    Создаёт CssMetaData с заданными параметрами, initialValue — null, inherit — false и без дочерних свойств.
    protected CssMetaData​(String property, StyleConverter<?,​V> converter, V initialValue)
    Создаёт CssMetaData с заданными параметрами, inherit — false и без дочерних свойств.
    protected CssMetaData​(String property, StyleConverter<?,​V> converter, V initialValue, boolean inherits)
    Создаёт CssMetaData с заданными параметрами и без дочерних свойств.
    protected CssMetaData​(String property, StyleConverter<?,​V> converter, V initialValue, boolean inherits, List<CssMetaData<? extends Styleable,​?>> subProperties)
    Создаёт CssMetaData с заданными параметрами и без дочерних свойств.
  • Краткое описание методов

    Все методыМетоды экземпляраАбстрактные методыКонкретные методыМетоды устарели
    Модификатор и тип Метод Описание
    boolean equals​(Object obj)
    Два объекта CssMetaData считаются равными, если их значения property равны.
    StyleConverter<?,​V> getConverter()
    V getInitialValue​(S styleable)
    Начальное значение CssMetaData соответствует значению по умолчанию StyleableProperty в коде.
    String getProperty()
    abstract StyleableProperty<V> getStyleableProperty​(S styleable)
    Возвращает соответствующее StyleableProperty для данного узла.
    List<CssMetaData<? extends Styleable,​?>> getSubProperties()
    Подсвойства — это составляющие свойства, если таковые имеются.
    int hashCode()
    boolean isInherits()
    Если true, значение данного свойства такое же, как значение вычисленного свойства у родителя.
    abstract boolean isSettable​(S styleable)
    Проверка, устанавливаемо ли соответствующее свойство на данном узле.
    void set​(S styleable, V value, StyleOrigin origin)
    Устарело.
    Этот метод больше не вызывается из CSS-кода.
    String toString()
    • Методы, унаследованные от класса java.lang.Object

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

    • CssMetaData

      protected CssMetaData​(String property,
                            StyleConverter<?,​V> converter,
                            V initialValue,
                            boolean inherits,
                            List<CssMetaData<? extends Styleable,​?>> subProperties)
      Создаёт CssMetaData с заданными параметрами и без дочерних свойств.
      Параметры:
      property - свойство CSS
      converter - StyleConverter, используемый для преобразования значения, полученного из CSS, в объект Java.
      initialValue - начальное или значение по умолчанию соответствующего StyleableProperty
      inherits - true, если это свойство использует наследование CSS
      subProperties - дочерние свойства этого свойства. Например, свойство -fx-font имеет дочерние свойства -fx-font-family, -fx-font-size, -fx-font-weight и -fx-font-style.
    • CssMetaData

      protected CssMetaData​(String property,
                            StyleConverter<?,​V> converter,
                            V initialValue,
                            boolean inherits)
      Создаёт CssMetaData с заданными параметрами и без дочерних свойств.
      Параметры:
      property - свойство CSS
      converter - StyleConverter, используемый для преобразования значения, полученного из CSS, в объект Java.
      initialValue - начальное или значение по умолчанию соответствующего StyleableProperty
      inherits - true, если это свойство использует наследование CSS
    • CssMetaData

      protected CssMetaData​(String property,
                            StyleConverter<?,​V> converter,
                            V initialValue)
      Создаёт CssMetaData с заданными параметрами, наследование установлено в false и без дочерних свойств.
      Параметры:
      property - свойство CSS
      converter - StyleConverter, используемый для преобразования значения, полученного из CSS, в объект Java.
      initialValue - начальное или значение по умолчанию соответствующего StyleableProperty
    • CssMetaData

      protected CssMetaData​(String property,
                            StyleConverter<?,​V> converter)
      Создаёт CssMetaData с заданными параметрами, initialValue равно null, наследование установлено в false и без дочерних свойств.
      Параметры:
      property - свойство CSS
      converter - StyleConverter, используемый для преобразования значения, полученного из CSS, в объект Java.
  • Подробное описание методов

    • set

      @Deprecated(since="8")
      public void set​(S styleable,
                      V value,
                      StyleOrigin origin)
      Устарело.
      Этот метод больше не вызывается из CSS-кода. Используйте StyleableProperty.applyStyle(javafx.css.StyleOrigin, java.lang.Object)
      Устанавливает значение соответствующего свойства на заданном узле.
      Параметры:
      styleable - Styleable, на котором устанавливается значение свойства
      value - значение, на которое устанавливается свойство
      origin - источник
    • isSettable

      public abstract boolean isSettable​(S styleable)
      Проверяет, устанавливается ли соответствующее свойство на заданном узле. Этот метод вызывается перед поиском стилей для данного свойства. Он абстрактный, чтобы код мог проверить, устанавливается ли свойство, не расширяя его. В общем случае, свойство устанавливается, если оно не равно null или не связано.
      Параметры:
      styleable - Styleable, на котором устанавливается значение свойства
      Возвращает:
      true, если свойство может быть установлено.
    • getStyleableProperty

      public abstract StyleableProperty<V> getStyleableProperty​(S styleable)
      Возвращает соответствующее StyleableProperty для данного узла. Обратите внимание, что вызов этого метода приведет к расширению свойства.
      Параметры:
      styleable - Styleable, для которого возвращается свойство
      Возвращает:
      StyleableProperty, соответствующее этому CssMetaData для данного Styleable
    • getProperty

      public final String getProperty()
      Возвращает:
      имя свойства CSS
    • getConverter

      public final StyleConverter<?,​V> getConverter()
      Возвращает:
      Преобразователь CSS, который обрабатывает преобразование значения CSS в объект Java
    • getInitialValue

      public V getInitialValue​(S styleable)
      Начальное значение CssMetaData соответствует значению по умолчанию StyleableProperty в коде. Например, значение по умолчанию Shape.fill равно Color.BLACK, а initialValue Shape.StyleableProperties.FILL также равно Color.BLACK.

      Однако могут быть исключения. initialValue может зависеть от состояния узла. У ScrollBar ориентация по умолчанию горизонтальная. Если ScrollBar вертикальный, этот метод должен вернуть Orientation.VERTICAL. В противном случае, вертикальный ScrollBar будет неправильно настроен на горизонтальный ScrollBar при применении начального значения.

      Параметры:
      styleable - styleable
      Возвращает:
      Начальное значение свойства, возможно null
    • getSubProperties

      public final List<CssMetaData<? extends Styleable,​?>> getSubProperties()
      Подсвойства относятся к составляющим свойствам этого свойства, если таковые имеются. Например, "-fx-font-weight" является подсвойством "-fx-font".
      Возвращает:
      список подсвойств
    • isInherits

      public final boolean isInherits()
      Если true, значение этого свойства такое же, как вычисленное значение этого свойства у родителя.
      Возвращает:
      false по умолчанию, если inherits не true
      См. также:
      Наследование CSS
    • equals

      public boolean equals​(Object obj)
      Два объекта CssMetaData считаются равными, если их значения property равны.
      Переопределяет:
      equals в классе Object
      Возвращает:
      true, если obj равен, false в противном случае
    • hashCode

      public int hashCode()
      Переопределяет:
      hashCode в классе Object
    • toString

      public String toString()
      Переопределяет:
      toString в классе 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