Spec-Zone.ru › OpenJavaFX 21

Interface Skin<C extends Skinnable>

Параметры типа:
C - подтип Skinnable, который представляет Skin. Это позволяет реализации Skin получить доступ к Skinnable реализации, которая обычно является реализацией Control.
Все известные реализующие классы:
AccordionSkin, ButtonBarSkin, ButtonSkin, CellSkinBase, CheckBoxSkin, ChoiceBoxSkin, ColorPickerSkin, ComboBoxBaseSkin, ComboBoxListViewSkin, ComboBoxPopupControl, ContextMenuSkin, DateCellSkin, DatePickerSkin, HTMLEditorSkin, HyperlinkSkin, LabeledSkinBase, LabelSkin, ListCellSkin, ListViewSkin, MenuBarSkin, MenuButtonSkin, MenuButtonSkinBase, PaginationSkin, ProgressBarSkin, ProgressIndicatorSkin, RadioButtonSkin, ScrollBarSkin, ScrollPaneSkin, SeparatorSkin, SkinBase, SliderSkin, SpinnerSkin, SplitMenuButtonSkin, SplitPaneSkin, TableCellSkin, TableCellSkinBase, TableRowSkin, TableRowSkinBase, TableViewSkin, TableViewSkinBase, TabPaneSkin, TextAreaSkin, TextFieldSkin, TextInputControlSkin, TitledPaneSkin, ToggleButtonSkin, ToolBarSkin, TooltipSkin, TreeCellSkin, TreeTableCellSkin, TreeTableRowSkin, TreeTableViewSkin, TreeViewSkin, VirtualContainerBase
public interface Skin<C extends Skinnable>
Интерфейс для определения визуального представления элементов управления пользовательского интерфейса.

Реализация Skin должна в целом избегать изменения своего элемента управления за пределами метода install(). Жизненный цикл реализации Skin следующий:

  • создание
  • настройка, например, передача зависимостей и параметров
  • при установке скина на Skinnable:
    • удаление старого скина через его метод dispose()
    • установка нового скина через install()
С момента:
JavaFX 2.0

Краткое описание методов

Модификатор и тип Метод Описание
void dispose()
Вызывается, когда ранее установленный скин собирается удалить из связанного элемента управления.
Node getNode()
Возвращает узел, представляющий этот скин.
C getSkinnable()
Возвращает Skinnable, которому назначен этот Skin.
default void install()
Вызывается один раз при установке Skin.

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

getSkinnable

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

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

Возвращает:
Непустой Skinnable или значение null, если он утилизирован.

getNode

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

install

default void install()
Вызывается один раз при установке Skin. Этот метод вызывается после того, как предыдущий скин, если таковой был, был удален через его метод dispose(). Скин теперь может безопасно изменять связанный элемент управления, например, регистрировать слушателей, добавлять дочерние узлы и изменять свойства и обработчики событий.

Код приложения не должен вызывать этот метод.

Реализация этого метода по умолчанию ничего не делает.

Примечание для реализации:
Skins нуждаются в реализации install только в случае, если им нужно вносить прямые изменения в элемент управления, например, перезаписывать свойства или обработчики событий. Такие скины должны обеспечить отмену этих изменений в методе dispose().
С момента:
20

dispose

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

Вызов dispose() более одного раза не оказывает никакого влияния.

© 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