Перейти к содержанию

VirtualListView

Виртуализированное представление больших наборов элементов в виде адаптивной сетки или списка.

Когда использовать

Используй VirtualListView, когда набор содержит сотни или тысячи однотипных записей. Фабрика создаёт только видимые элементы и небольшой overscan; обычные формы лучше строить на VBox или LinearBox.

Layout и StylePack

Viewport учитывает layoutStyle().padding(), rowGap() и columnGap(). Те же параметры можно задавать через StyleKeys.VIRTUAL_LIST_* в StylePack.

Адаптивная сетка

VirtualListView view = new VirtualListView()
        .viewMode(VirtualListView.ViewMode.GRID)
        .gridCellWidth(120.0f)
        .gridCellHeight(144.0f)
        .itemCount(entries.size())
        .itemFactory(index -> createEntryCard(entries.get(index)));

view.layout(style -> style
        .padding(12.0f)
        .columnGap(8.0f)
        .rowGap(12.0f));

API

VirtualListView::itemFactory(IntFunction)

Фабрика элементов

Устанавливает фабрику, создающую UI-виджет по индексу элемента данных.

Параметр Тип Описание
itemFactory IntFunction Функция index → Widget; null восстанавливает фабрику Label по умолчанию.

Возвращает VirtualListView: этот VirtualListView для fluent-настройки.

Подключение модели

view.itemFactory(index -> createCard(entries.get(index)));