- java.lang.Object
-
- javafx.scene.control.SelectionModel<T>
-
- javafx.scene.control.MultipleSelectionModel<T>
-
- javafx.scene.control.TableSelectionModel<S>
-
- javafx.scene.control.TableView.TableViewSelectionModel<S>
-
public abstract static class TableView.TableViewSelectionModel<S> extends TableSelectionModel<S>
Простая расширение абстрактного классаSelectionModelдля обеспечения специальной поддержки элементов управления TableView.- С тех пор:
- JavaFX 2.0
-
Краткое описание свойств
-
Наследуемые свойства от класса javafx.scene.control.TableSelectionModel
cellSelectionEnabled
-
Наследуемые свойства от класса javafx.scene.control.MultipleSelectionModel
selectionMode
-
Наследуемые свойства от класса javafx.scene.control.SelectionModel
selectedIndex, selectedItem
-
-
Краткое описание конструкторов
Конструкторы Конструктор Описание TableViewSelectionModel(TableView<S> tableView)Создаёт экземпляр TableViewSelectionModel по умолчанию с предоставленным TableView.
-
Краткое описание методов
Все методыМетоды экземпляраАбстрактные методыКонкретные методы Модификатор и тип Метод Описание voidclearAndSelect(int row)Метод, очищающий любые предыдущие выделения перед установкой выделения по заданному индексу.abstract voidclearAndSelect(int row, TableColumn<S,?> column)Очищает все выделения и затем выделяет ячейку в заданной строке/столбце.voidclearAndSelect(int row, TableColumnBase<S,?> column)Очищает все выделения и затем выделяет ячейку в заданной строке/столбце.voidclearSelection()Очищает модель выделения всех выделенных индексов.voidclearSelection(int index)Этот метод очистит выделение элемента в заданном индексе.abstract voidclearSelection(int row, TableColumn<S,?> column)Удаляет выделение из заданной позиции строки/столбца (в индексах представления).voidclearSelection(int row, TableColumnBase<S,?> column)Удаляет выделение из заданной позиции строки/столбца (в индексах представления).voidfocus(int row)intgetFocusedIndex()protected intgetItemCount()Возвращает количество элементов в модели данных, лежащей в основе управления.protected SgetModelItem(int index)Возвращает элемент по заданному индексу.abstract ObservableList<TablePosition>getSelectedCells()Только для чтения ObservableList, представляющий текущие выделенные ячейки в данном TableView.ObservableList<Integer>getSelectedIndices()Возвращает только для чтения ObservableList всех выделенных индексов.ObservableList<T>getSelectedItems()Возвращает только для чтения ObservableList всех выделенных элементов.protected List<S>getTableModel()Удобный метод, возвращающий getTableView().getItems().TableView<S>getTableView()Возвращает экземпляр TableView, в котором установлен этот объект модели выделения.booleanisEmpty()Этот метод доступен для проверки наличия выделенных индексов/элементов.booleanisSelected(int index)Удобный метод для проверки, выбран ли данный индекс в данной модели выделения.abstract booleanisSelected(int row, TableColumn<S,?> column)Удобная функция, проверяющая, выделена ли в этом экземпляре таблицы данная строка и столбец.booleanisSelected(int row, TableColumnBase<S,?> column)Удобная функция, проверяющая, выделена ли в этом экземпляре таблицы данная строка и столбец.voidselect(int row)Этот метод выберет заданный индекс в модели выделения, предполагая, что индекс находится в допустимом диапазоне (т.е.abstract voidselect(int row, TableColumn<S,?> column)Выделяет ячейку в заданной строке/столбце.voidselect(int row, TableColumnBase<S,?> column)Выделяет ячейку в заданной строке/столбце.voidselect(T obj)Этот метод попытается выделить индекс, содержащий данный объект.voidselectAll()Удобный метод для выделения всех доступных индексов.voidselectFirst()Этот метод попытается выделить первый индекс в элементе управления.voidselectIndices(int row, int... rows)Этот метод позволяет устанавливать одно или несколько выделений одновременно.voidselectLast()Этот метод попытается выделить последний индекс в элементе управления.voidselectNext()Этот метод попытается выделить индекс, непосредственно следующий за текущим фокусированным индексом.voidselectPrevious()Этот метод попытается выделить индекс, непосредственно предшествующий текущему фокусированному индексу.voidselectRange(int minRow, TableColumnBase<S,?> minColumn, int maxRow, TableColumnBase<S,?> maxColumn)Выделяет ячейки в диапазоне (minRow, minColumn) до (maxRow, maxColumn) включительно.-
Наследуемые методы от класса javafx.scene.control.TableSelectionModel
cellSelectionEnabledProperty, isCellSelectionEnabled, selectAboveCell, selectBelowCell, selectLeftCell, selectRightCell, setCellSelectionEnabled
-
Наследуемые методы от класса javafx.scene.control.MultipleSelectionModel
getSelectionMode, selectionModeProperty, selectRange, setSelectionMode
-
Наследуемые методы от класса javafx.scene.control.SelectionModel
getSelectedIndex, getSelectedItem, selectedIndexProperty, selectedItemProperty, setSelectedIndex, setSelectedItem
-
-
Подробное описание конструкторов
-
TableViewSelectionModel
public TableViewSelectionModel(TableView<S> tableView)
Создаёт экземпляр TableViewSelectionModel по умолчанию с указанным TableView.- Параметры:
-
tableView- TableView, для которого должен работать этот модеь выбора. - Исключения:
-
NullPointerException- TableView не может быть null.
-
-
Подробное описание методов
-
getSelectedCells
public abstract ObservableList<TablePosition> getSelectedCells()
Только для чтения ObservableList, представляющий текущие выделенные ячейки в этом TableView. Вместо непосредственного изменения этого списка, пожалуйста, используйте другие методы, предоставленные в TableViewSelectionModel.- Возвращает:
- только для чтения ObservableList, представляющий текущие выделенные ячейки в этом TableView
-
isSelected
public boolean isSelected(int row, TableColumnBase<S,?> column)Вспомогательная функция, проверяющая, выделена ли ячейка с заданным индексом строки и столбца в этом экземпляре таблицы. Если элемент управления таблицей находится в режиме «выбор ячеек» (где можно выделять отдельные ячейки, а не целые строки), и если аргумент столбца равен null, этот метод должен возвращать true только в том случае, если все ячейки в заданной строке выделены.- Задано:
-
isSelectedв классеTableSelectionModel<S> - Параметры:
-
row- строка -
column- столбец - Возвращает:
- true, если ячейка с заданным индексом строки и столбца выделена в этом экземпляре таблицы
-
isSelected
public abstract boolean isSelected(int row, TableColumn<S,?> column)Вспомогательная функция, проверяющая, выделена ли ячейка с заданным индексом строки и столбца в этом экземпляре таблицы.- Параметры:
-
row- строка -
column- столбец - Возвращает:
- true, если ячейка с заданным индексом строки и столбца выделена
-
select
public void select(int row, TableColumnBase<S,?> column)Выделяет ячейку на пересечении заданной строки и столбца. Если элемент управления таблицей находится в режиме «выбор ячеек» (где можно выделять отдельные ячейки, а не целые строки), и если аргумент столбца равен null, этот метод должен выделить все ячейки в заданной строке.- Задано:
-
selectв классеTableSelectionModel<S> - Параметры:
-
row- строка -
column- столбец
-
select
public abstract void select(int row, TableColumn<S,?> column)Выделяет ячейку на пересечении заданной строки и столбца.- Параметры:
-
row- строка -
column- столбец
-
clearAndSelect
public void clearAndSelect(int row, TableColumnBase<S,?> column)Очищает все выделения и затем выделяет ячейку на пересечении заданной строки и столбца. Если элемент управления таблицей находится в режиме «выбор ячеек» (где можно выделять отдельные ячейки, а не целые строки), и если аргумент столбца равен null, этот метод должен выделить все ячейки в заданной строке.- Задано:
-
clearAndSelectв классеTableSelectionModel<S> - Параметры:
-
row- строка -
column- столбец
-
clearAndSelect
public abstract void clearAndSelect(int row, TableColumn<S,?> column)Очищает все выделения и затем выделяет ячейку на пересечении заданной строки и столбца.- Параметры:
-
row- строка -
column- столбец
-
clearSelection
public void clearSelection(int row, TableColumnBase<S,?> column)Удаляет выделение из заданной позиции строки/столбца (в индексах представления). Если эта ячейка (или строка, если значение столбца равно -1) не выделена, ничего не происходит. Если элемент управления таблицей находится в режиме «выбор ячеек» (где можно выделять отдельные ячейки, а не целые строки), и если аргумент столбца равен null, этот метод должен снять выделение со всех ячеек в заданной строке.- Задано:
-
clearSelectionв классеTableSelectionModel<S> - Параметры:
-
row- строка -
column- столбец
-
clearSelection
public abstract void clearSelection(int row, TableColumn<S,?> column)Удаляет выделение из заданной позиции строки/столбца (в индексах представления). Если эта ячейка (или строка, если значение столбца равно -1) не выделена, ничего не происходит.- Параметры:
-
row- строка -
column- столбец
-
selectRange
public void selectRange(int minRow, TableColumnBase<S,?> minColumn, int maxRow, TableColumnBase<S,?> maxColumn)Выделяет ячейки в диапазоне (minRow, minColumn) до (maxRow, maxColumn), включительно.- Задано:
-
selectRangeв классеTableSelectionModel<S> - Параметры:
-
minRow- minRow -
minColumn- minColumn -
maxRow- maxRow -
maxColumn- maxColumn
-
getTableView
public TableView<S> getTableView()
Возвращает экземпляр TableView, в котором установлен этот модеь выбора.- Возвращает:
- TableView
-
getTableModel
protected List<S> getTableModel()
Вспомогательный метод, который возвращает getTableView().getItems().- Возвращает:
- Список элементов текущего TableView.
-
getModelItem
protected S getModelItem(int index)
Возвращает элемент по заданному индексу. Пример с ListView:listView.getItems().get(index).- Параметры:
-
index- Индекс элемента, запрашиваемого у базовой модели данных. - Возвращает:
- Возвращает null, если индекс вне допустимого диапазона, или элемент типа T, связанный с заданным индексом.
-
getItemCount
protected int getItemCount()
Возвращает количество элементов в модели данных, которая лежит в основе элемента управления. Пример с ListView будет, вероятно, возвращатьlistView.getItems().size(). Допустимый диапазон индексов для выбора находится между 0 и значением, возвращаемым этим методом.- Возвращает:
- количество элементов в модели данных, которая лежит в основе элемента управления
-
focus
public void focus(int row)
-
getFocusedIndex
public int getFocusedIndex()
-
getSelectedIndices
public ObservableList<Integer> getSelectedIndices()
Описание скопировано из класса:MultipleSelectionModelВозвращает только для чтения ObservableList всех выделенных индексов. ObservableList будет обновляться моделью выбора, чтобы всегда отражать изменения в выборе. Это можно отслеживать, добавив
ListChangeListenerв возвращаемый ObservableList.- Задано:
-
getSelectedIndicesв классеMultipleSelectionModel<T> - Возвращает:
- список выделенных индексов
-
getSelectedItems
public ObservableList<T> getSelectedItems()
Описание скопировано из класса:MultipleSelectionModelВозвращает только для чтения ObservableList всех выделенных элементов. ObservableList будет далее обновляться моделью выбора, чтобы всегда отражать изменения в выборе. Это можно отслеживать, добавив
ListChangeListenerв возвращаемый ObservableList.- Задано:
-
getSelectedItemsв классеMultipleSelectionModel<T> - Возвращает:
- список выделенных элементов
-
clearAndSelect
public void clearAndSelect(int row)
Описание скопировано из класса:SelectionModelМетод, очищающий предыдущий выбор перед установкой выбора на данный индекс. Цель этого метода — избежать необходимости вызоваSelectionModel.clearSelection()в первую очередь, что означает, что наблюдатели, отслеживающие свойствоselected index, не увидят, как выбранный индекс временно устанавливается в -1.- Задано:
-
clearAndSelectв классеSelectionModel<T> - Параметры:
-
row- Индекс, который должен быть единственным выделенным индексом в этой модели выбора.
-
-
select
public void select(int row)
Описание, скопированное из класса:SelectionModelЭтот метод выберет указанный индекс в модели выбора, предполагая, что индекс находится в допустимом диапазоне (т.е. больше или равен нулю и меньше общего количества элементов в базовой модели данных).
Если в этой модели уже выбран один или несколько индексов, вызов этого метода не очистит эти выделения — для этого необходимо сначала вызвать
SelectionModel.clearSelection().Если индекс уже выбран, он не будет выбран снова или снят с выбора. Однако, если реализована множественная выборка, вызов select для уже выбранного индекса приведет к тому, что индекс станет новым выбранным индексом (как возвращается методом
SelectionModel.getSelectedIndex()).- Указано в:
-
selectв классеSelectionModel<T> - Параметры:
-
row- Позиция элемента для выбора в модели выбора.
-
select
public void select(T obj)
Описание, скопированное из класса:SelectionModelЭтот метод попытается выбрать индекс, содержащий заданный объект. Он будет итерироваться по базовой модели данных до тех пор, пока не найдёт элемент, значение которого равно заданному объекту. На этом этапе он прекратит итерацию — это означает, что этот метод не выберет несколько индексов.
- Указано в:
-
selectв классеSelectionModel<T> - Параметры:
-
obj- Объект для попытки выбора в базовой модели данных.
-
selectIndices
public void selectIndices(int row, int... rows)Описание, скопированное из класса:MultipleSelectionModelЭтот метод позволяет установить один или несколько выборов одновременно. Он проигнорирует любое значение, которое не находится в допустимом диапазоне (т.е. больше или равно нулю и меньше общего количества элементов в базовой модели данных). Любые дублирующиеся индексы будут проигнорированы.
Если в этой модели уже выбран один или несколько индексов, вызов этого метода не очистит эти выделения — для этого необходимо сначала вызвать clearSelection.
Последнее допустимое значение станет выбранным индексом/выбранным элементом.
- Указано в:
-
selectIndicesв классеMultipleSelectionModel<T> - Параметры:
-
row- первый индекс для выбора -
rows- ноль или более дополнительных индексов для выбора
-
selectAll
public void selectAll()
Описание, скопированное из класса:MultipleSelectionModelУдобный метод для выбора всех доступных индексов.
- Указано в:
-
selectAllв классеMultipleSelectionModel<T>
-
selectFirst
public void selectFirst()
Описание, скопированное из класса:MultipleSelectionModelЭтот метод попытается выбрать первый индекс в элементе управления. Если метод clearSelection не вызывается предварительно, это приведет к выбору первого индекса, сохраняя выбор других текущих индексов.
Если первый индекс уже выбран, вызов этого метода не приведет ни к каким результатам и не будет выполнено событие выбора.
- Указано в:
-
selectFirstв классеMultipleSelectionModel<T>
-
selectLast
public void selectLast()
Описание, скопированное из класса:MultipleSelectionModelЭтот метод попытается выбрать последний индекс в элементе управления. Если метод clearSelection не вызывается предварительно, это приведет к выбору последнего индекса, сохраняя выбор других текущих индексов.
Если последний индекс уже выбран, вызов этого метода не приведет ни к каким результатам и не будет выполнено событие выбора.
- Указано в:
-
selectLastв классеMultipleSelectionModel<T>
-
clearSelection
public void clearSelection(int index)
Описание, скопированное из класса:SelectionModelЭтот метод очистит выбор элемента в указанном индексе. Если указанный индекс не выбран, ничего не произойдёт.
- Указано в:
-
clearSelectionв классеSelectionModel<T> - Параметры:
-
index- Выбранный элемент для снятия выбора.
-
clearSelection
public void clearSelection()
Описание, скопированное из класса:SelectionModelОчищает модель выбора всех выбранных индексов.
- Указано в:
-
clearSelectionв классеSelectionModel<T>
-
isSelected
public boolean isSelected(int index)
Описание, скопированное из класса:SelectionModelУдобный метод для определения, выбран ли данный индекс в текущей SelectionModel. Функционально эквивалентен вызову
getSelectedIndices().contains(index).- Указано в:
-
isSelectedв классеSelectionModel<T> - Параметры:
-
index- Индекс, для проверки, выбран он или нет. - Возвращает:
- true, если указанный индекс выбран, false в противном случае.
-
isEmpty
public boolean isEmpty()
Описание, скопированное из класса:SelectionModelЭтот метод используется для проверки наличия выбранных индексов/элементов. Он вернет true, если нет выбранных элементов, и false, если они есть.- Указано в:
-
isEmptyв классеSelectionModel<T> - Возвращает:
- true, если нет выбранных элементов, и false, если они есть.
-
selectPrevious
public void selectPrevious()
Описание, скопированное из класса:SelectionModelЭтот метод попытается выбрать индекс, непосредственно предшествующий текущему фокусированному индексу. Если предварительно не вызвать clearSelection, этот метод выберет предыдущий индекс, сохраняя выбор других текущих индексов.
Вызов этого метода будет успешным только в следующих случаях:
- В данный момент существует ведущий/фокусированный индекс.
- Ведущий/фокусированный индекс не является первым индексом в элементе управления.
- Предыдущий индекс не выбран.
Если какое-либо из этих условий ложно, событие выбора не произойдёт.
- Указано в:
-
selectPreviousв классеSelectionModel<T>
-
selectNext
public void selectNext()
Описание, скопированное из класса:SelectionModelЭтот метод попытается выбрать индекс, непосредственно следующий за текущим фокусированным индексом. Если предварительно не вызвать clearSelection, этот метод выберет следующий индекс, сохраняя выбор других текущих индексов.
Вызов этого метода будет успешным только в следующих случаях:
- В данный момент существует ведущий/фокусированный индекс.
- Ведущий/фокусированный индекс не является последним индексом в элементе управления.
- Следующий индекс не выбран.
Если какое-либо из этих условий ложно, событие выбора не произойдёт.
- Указано в:
-
selectNextв классеSelectionModel<T>
-
© 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.