Класс TableView<S>
- Параметры типа:
-
S- Тип объектов, содержащихся в списке элементов TableView.
- Все реализованные интерфейсы:
-
Styleable,EventTarget,Skinnable
@DefaultProperty("items") public class TableView<S> extends Control ListView с добавлением поддержки столбцов. Пример создания TableView см. в разделе "Создание TableView" ниже. Контрол TableView обладает рядом функций, включая:
- Мощный API
TableColumn:- Поддержка
cell factoriesдля удобной настройки содержимогоcellв состояниях отрисовки и редактирования. - Указание
minWidth/prefWidth/maxWidth, а такжеfixed width columns. - Изменение ширины пользователем во время выполнения.
- Переупорядочивание столбцов пользователем во время выполнения.
- Встроенная поддержка
column nesting
- Поддержка
- Различные
resizing policiesдля управления действиями при изменении размеров столбцов пользователем. - Поддержка
multiple column sortingщелчком по заголовку столбца (удерживайте клавишу Shift при щелчке по заголовку для сортировки по нескольким столбцам).
Обратите внимание, что TableView предназначен для визуализации данных, а не для размещения элементов пользовательского интерфейса. Если вам нужно разместить элементы пользовательского интерфейса в сетке, используйте компоновщик GridPane вместо этого.
Создание TableView
Создание TableView — многоступенчатый процесс, зависящий от модели данных, подлежащей представлению. В этом примере используется ObservableList<Person>, так как это самый простой способ отображения данных в TableView. Класс Person будет содержать свойства firstName и lastName. То есть:
public class Person {
private StringProperty firstName;
public void setFirstName(String value) { firstNameProperty().set(value); }
public String getFirstName() { return firstNameProperty().get(); }
public StringProperty firstNameProperty() {
if (firstName == null) firstName = new SimpleStringProperty(this, "firstName");
return firstName;
}
private StringProperty lastName;
public void setLastName(String value) { lastNameProperty().set(value); }
public String getLastName() { return lastNameProperty().get(); }
public StringProperty lastNameProperty() {
if (lastName == null) lastName = new SimpleStringProperty(this, "lastName");
return lastName;
}
public Person(String firstName, String lastName) {
setFirstName(firstName);
setLastName(lastName);
}
} Данные, которые мы будем использовать в этом примере:
List<Person> members = List.of(
new Person("William", "Reed"),
new Person("James", "Michaelson"),
new Person("Julius", "Dean")); Сначала необходимо создать модель данных. Как упоминалось, в этом примере мы будем использовать ObservableList<Person>:
ObservableList<Person> teamMembers = FXCollections.observableArrayList(members); Затем создаем экземпляр TableView:
TableView<Person> table = new TableView<>();
table.setItems(teamMembers); С заданными элементами TableView будет автоматически обновляться всякий раз, когда список teamMembers изменяется. Если список элементов доступен до создания TableView, его можно передать непосредственно в конструктор:
TableView<Person> table = new TableView<>(teamMembers); В этот момент у нас есть TableView, подключенный к наблюдению за списком teamMembers observableList. Теперь недостающим элементом является способ разделения данных, содержащихся в модели, и представления их в одном или нескольких экземплярах TableColumn. Для создания TableView с двумя столбцами для отображения свойств firstName и lastName мы расширяем последний пример кода следующим образом:
TableColumn<Person, String> firstNameCol = new TableColumn<>("First Name");
firstNameCol.setCellValueFactory(new PropertyValueFactory<>(members.get(0).firstNameProperty().getName())));
TableColumn<Person, String> lastNameCol = new TableColumn<>("Last Name");
lastNameCol.setCellValueFactory(new PropertyValueFactory<>(members.get(0).lastNameProperty().getName())));
table.getColumns().setAll(firstNameCol, lastNameCol); Используя код, показанный выше, мы полностью определили минимальные свойства, необходимые для создания экземпляра TableView. Запуск этого кода приведет к отображению TableView с двумя столбцами для firstName и lastName. Другие свойства класса Person не будут отображаться, так как не определены никакие TableColumns.
Поддержка TableView для классов, не содержащих свойств
Код, показанный выше, представляет собой кратчайший возможный код для создания TableView, когда объекты домена спроектированы с учетом свойств JavaFX (дополнительно, PropertyValueFactory поддерживает обычные свойства JavaBean, хотя есть оговорка, поэтому обратитесь к документации класса для получения дополнительной информации). Если это не так, необходимо предоставить пользовательскую фабрику значения ячейки. Более подробную информацию о фабриках значения ячейки можно найти в документации API TableColumn, но кратко, вот как можно указать TableColumn:
firstNameCol.setCellValueFactory(new Callback<CellDataFeatures<Person, String>, ObservableValue<String>>() {
public ObservableValue<String> call(CellDataFeatures<Person, String> p) {
// p.getValue() returns the Person instance for a particular TableView row
return p.getValue().firstNameProperty();
}
});
// or with a lambda expression:
firstNameCol.setCellValueFactory(p -> p.getValue().firstNameProperty()); API выбора/фокусировки TableView
Для отслеживания выбора и фокусировки необходимо ознакомиться с классами SelectionModel и FocusModel. У TableView максимум один экземпляр каждого из этих классов, доступный из свойств selectionModel и focusModel соответственно. Хотя можно использовать этот API для установки новой модели выбора, в большинстве случаев это не требуется — модель выбора и фокуса по умолчанию должна работать в большинстве случаев.
По умолчанию используемый SelectionModel при создании TableView — это реализация абстрактного класса MultipleSelectionModel. Однако, как указано в документации API свойства selectionMode, значение по умолчанию — SelectionMode.SINGLE. Поэтому для включения множественного выбора в экземпляре TableView по умолчанию необходимо выполнить следующее:
tableView.getSelectionModel().setSelectionMode(SelectionMode.MULTIPLE); Настройка визуального оформления TableView
Визуальное оформление TableView можно полностью настроить, заменив фабрику строк по умолчанию row factory. Фабрика строк используется для генерации экземпляров TableRow, которые используются для представления всей строки в TableView.
Однако в большинстве случаев этого не требуется, так как чаще всего требуется настройка ячеек по столбцам, а не по строкам. Следовательно, важно отметить, что TableRow не является TableCell. TableRow — это просто контейнер для нуля или более TableCell, и в большинстве случаев вы скорее захотите создать пользовательские TableCells, а не TableRows. Основной случай использования для создания пользовательских экземпляров TableRow, скорее всего, заключается во введении какой-либо поддержки разнесения столбцов.
Вы можете создавать пользовательские TableCell по столбцам, назначив соответствующую функцию свойству TableColumn cell factory.
См. документацию класса Cell для более подробного описания способов написания пользовательских ячеек.
Предупреждение: узлы не следует вставлять непосредственно в ячейки TableView
TableView позволяет ячейкам содержать элементы любого типа, включая экземпляры Node. Сильно не рекомендуется вставлять узлы в ячейки TableView, так как это может привести к непредсказуемым результатам. Важные моменты:
- Избегайте вставки экземпляров
Nodeнепосредственно в ячейкиTableViewили в его модель данных. - Рекомендуемый подход — поместить соответствующую информацию в список элементов и предоставить пользовательскую
cell factoryдля создания узлов для заданной ячейки и обновления их по требованию, используя данные, хранящиеся в элементе для этой ячейки. - Избегайте создания новых
Nodeв методеupdateItemпользовательскойcell factory.
Следующий минимальный пример показывает, как создать пользовательскую фабрику ячеек для TableView, содержащую Node:
class CustomColor {
private SimpleObjectProperty<Color> color;
CustomColor(Color col) {
this.color = new SimpleObjectProperty<Color>(col);
}
public Color getColor() { return color.getValue(); }
public void setColor(Color c) { color.setValue(c); }
public SimpleObjectProperty<Color> colorProperty() { return color; }
}
TableView<CustomColor> tableview = new TableView<CustomColor>();
ObservableList<CustomColor> colorList = FXCollections.observableArrayList();
colorList.addAll(
new CustomColor(Color.RED),
new CustomColor(Color.GREEN),
new CustomColor(Color.BLUE));
TableColumn<CustomColor, Color> col = new TableColumn<CustomColor, Color>("Color");
col.setCellValueFactory(data -> data.getValue().colorProperty());
col.setCellFactory(p -> {
return new TableCell<CustomColor, Color> () {
private final Rectangle rectangle;
{
setContentDisplay(ContentDisplay.GRAPHIC_ONLY);
rectangle = new Rectangle(10, 10);
}
@Override
protected void updateItem(Color item, boolean empty) {
super.updateItem(item, empty);
if (item == null || empty) {
setGraphic(null);
} else {
rectangle.setFill(item);
setGraphic(rectangle);
}
}
};
});
tableview.getColumns().add(col);
tableview.setItems(colorList); В этом примере анонимный пользовательский класс TableCell находится в пользовательской фабрике ячеек. Обратите внимание, что объект Rectangle (Node) должен быть создан в блоке инициализации экземпляра или в конструкторе пользовательского класса TableCell и обновляться/использоваться в его методе updateItem.
Сортировка
До JavaFX 8.0 контрол TableView обрабатывал список items как модель представления, что означало, что любые изменения в списке немедленно отражались визуально. TableView также непосредственно изменял порядок этого списка при инициировании сортировки пользователем. Это означало, что (опять же, до JavaFX 8.0) невозможно было вернуть TableView в состояние без сортировки (после перебора по возрастанию и убыванию).
Начиная с JavaFX 8.0 (и введением SortedList) теперь можно вернуть коллекцию в состояние без сортировки, когда нет столбцов в качестве части sort order TableView. Для этого необходимо создать экземпляр SortedList и связать его свойство comparator со свойством TableView comparator следующим образом:
// create a SortedList based on the provided ObservableList
SortedList sortedList = new SortedList(FXCollections.observableArrayList(2, 1, 3));
// create a TableView with the sorted list set as the items it will show
final TableView<Integer> tableView = new TableView<>(sortedList);
// bind the sortedList comparator to the TableView comparator
sortedList.comparatorProperty().bind(tableView.comparatorProperty());
// Don't forget to define columns! Редактирование
Этот контрол поддерживает редактирование значений в строке, и этот раздел пытается дать обзор доступных API и того, как их следует использовать.
Во-первых, редактирование ячейки обычно требует другого пользовательского интерфейса, чем в случае, когда ячейка не редактируется. Это ответственность реализации Cell, используемой. Для TableView настоятельно рекомендуется реализовать редактирование через per-TableColumn, а не per row, так как чаще всего пользователи хотят редактировать значения каждого столбца по-разному, и этот подход позволяет использовать редакторы, специфичные для каждого столбца. Вы можете выбрать, будет ли ячейка постоянно находиться в состоянии редактирования (например, это обычно используется для ячеек CheckBox) или переключиться на другой пользовательский интерфейс при начале редактирования (например, при двойном щелчке по ячейке).
Чтобы узнать, когда было запрошено редактирование ячейки, просто переопределите метод Cell.startEdit() и обновите свойства ячейки text и graphic соответственно (например, установите текст в null и установите графику в TextField). Кроме того, вы должны переопределить Cell.cancelEdit(), чтобы сбросить пользовательский интерфейс обратно в исходное визуальное состояние, когда редактирование завершено. В обоих случаях важно убедиться, что вы вызываете родительский метод, чтобы ячейка выполняла все необходимые действия для входа или выхода из режима редактирования.
Как только ваша ячейка находится в состоянии редактирования, следующее, что вас, вероятно, интересует, — это как подтвердить или отменить выполняемое редактирование. Это ваша ответственность как поставщика фабрики ячеек. Ваша реализация ячейки будет знать, когда редактирование завершено, на основе входных данных пользователя (например, когда пользователь нажимает клавиши Enter или ESC на клавиатуре). В этом случае вы должны вызвать Cell.commitEdit(Object) или Cell.cancelEdit() соответственно.
Когда вы вызываете Cell.commitEdit(Object), в TableView генерируется событие, которое вы можете наблюдать, добавив обработчик событий EventHandler с помощью TableColumn.setOnEditCommit(javafx.event.EventHandler). Аналогично, вы также можете наблюдать события редактирования для edit start и edit cancel.
По умолчанию обработчик подтверждения редактирования TableColumn не равен null и содержит обработчик по умолчанию, который пытается перезаписать значение свойства для элемента в текущей редактируемой строке. Он может сделать это, так как методу Cell.commitEdit(Object) передаётся новое значение, и это значение передаётся обработчику подтверждения редактирования через CellEditEvent, который генерируется. Это просто вопрос вызова TableColumn.CellEditEvent.getNewValue() для получения этого значения.
Очень важно отметить, что если вы вызовите TableColumn.setOnEditCommit(javafx.event.EventHandler) со своим собственным обработчиком событий EventHandler, то вы удалите обработчик по умолчанию. Если вы не обработаете запись в свойство (или соответствующий источник данных), ничего не произойдёт. Вы можете обойти эту проблему, используя метод EventTarget.addEventHandler(javafx.event.EventType, javafx.event.EventHandler) для добавления TableColumn.editCommitEvent() EventType с желаемым EventHandler в качестве второго аргумента. Используя этот метод, вы не замените реализацию по умолчанию, но получите уведомление о том, что подтверждение редактирования произошло.
Надеемся, этот обзор ответит на некоторые часто задаваемые вопросы. К счастью, JavaFX поставляется с рядом предварительно созданных фабрик ячеек, которые обрабатывают все требования к редактированию от вашего имени. Эти предварительно созданные фабрики ячеек можно найти в пакете javafx.scene.control.cell.
- Since:
- JavaFX 2.0
- See Also:
Сводка свойств
| Тип | Свойство | Описание |
|---|---|---|
final ObjectProperty<Callback<TableView.ResizeFeatures, |
columnResizePolicy |
Вызывается при завершении операции изменения размера столбца. |
final ReadOnlyObjectProperty<Comparator<S>> |
comparator |
Свойство компаратора — это свойство только для чтения, которое отражает текущее состояние списка sort order. |
final BooleanProperty |
editable |
Определяет, является ли этот TableView редактируемым — только если TableView, TableColumn (применимо) и TableCells внутри него являются редактируемыми, TableCell сможет перейти в состояние редактирования. |
final ReadOnlyObjectProperty<TablePosition<S, |
fixedCellSize |
Представляет текущую редактируемую ячейку или null, если никакая ячейка не редактируется. |
final DoubleProperty |
fixedCellSize |
Определяет, имеют ли ячейки этого элемента управления фиксированную высоту (указанного значения). |
final ObjectProperty<TableView.TableViewFocusModel<S>> |
focusModel |
Представляет текущую установленную TableView.TableViewFocusModel для этого TableView. |
final ObjectProperty<ObservableList<S>> |
items |
Базовая модель данных для TableView. |
ObjectProperty<EventHandler<ScrollToEvent<TableColumn<S, |
onScrollToColumn |
Вызывается при запросе прокрутки столбца в область видимости с помощью scrollToColumn(TableColumn) или scrollToColumnIndex(int)
|
ObjectProperty<EventHandler<ScrollToEvent<Integer>>> |
onScrollTo |
Вызывается при запросе прокрутки индекса в область видимости с помощью scrollTo(int) или scrollTo(Object)
|
ObjectProperty<EventHandler<SortEvent<TableView<S>>>> |
onSort |
Вызывается при запросе сортировки элемента управления. |
final ObjectProperty<Node> |
placeholder |
Этот узел отображается пользователю, когда в таблице нет отображаемого содержимого. |
final ObjectProperty<Callback<TableView<S>, |
rowFactory |
Функция, которая создает TableRow. |
final ObjectProperty<TableView.TableViewSelectionModel<S>> |
selectionModel |
SelectionModel предоставляет API, с помощью которого можно выбирать одну или несколько элементов в TableView, а также проверять, какие элементы выбраны пользователем. |
final ObjectProperty<Callback<TableView<S>, |
sortPolicy |
Политика сортировки определяет, как должна выполняться сортировка в этом TableView. |
final BooleanProperty |
tableMenuButtonVisible |
Это управляет доступностью кнопки меню, когда пользователь нажимает в выделенной области в TableView, в которой находится элемент радиоменю для каждого TableColumn в этой таблице. |
Свойства, объявленные в классе javafx.scene.control.Control
contextMenu, skin, tooltip
Свойства, объявленные в классе javafx.scene.layout.Region
background, border, cacheShape, centerShape, height, insets, maxHeight, maxWidth, minHeight, minWidth, opaqueInsets, padding, prefHeight, prefWidth, scaleShape, shape, snapToPixel, width
Свойства, объявленные в классе javafx.scene.Parent
needsLayout
Свойства, объявленные в классе javafx.scene.Node
accessibleHelp, accessibleRoleDescription, accessibleRole, accessibleText, blendMode, boundsInLocal, boundsInParent, cacheHint, cache, clip, cursor, depthTest, disabled, disable, effectiveNodeOrientation, effect, eventDispatcher, focused, focusTraversable, focusVisible, focusWithin, hover, id, inputMethodRequests, layoutBounds, layoutX, layoutY, localToParentTransform, localToSceneTransform, managed, mouseTransparent, nodeOrientation, onContextMenuRequested, onDragDetected, onDragDone, onDragDropped, onDragEntered, onDragExited, onDragOver, onInputMethodTextChanged, onKeyPressed, onKeyReleased, onKeyTyped, onMouseClicked, onMouseDragEntered, onMouseDragExited, onMouseDragged, onMouseDragOver, onMouseDragReleased, onMouseEntered, onMouseExited, onMouseMoved, onMousePressed, onMouseReleased, onRotate, onRotationFinished, onRotationStarted, onScrollFinished, onScroll, onScrollStarted, onSwipeDown, onSwipeLeft, onSwipeRight, onSwipeUp, onTouchMoved, onTouchPressed, onTouchReleased, onTouchStationary, onZoomFinished, onZoom, onZoomStarted, opacity, parent, pickOnBounds, pressed, rotate, rotationAxis, scaleX, scaleY, scaleZ, scene, style, translateX, translateY, translateZ, viewOrder, visible
Сводка вложенных классов
| Модификатор и тип | Класс | Описание |
|---|---|---|
static class |
TableView.ResizeFeatures<S> |
Неизменяемый класс-оболочка для использования в функциональности TableView column resize. |
static class |
TableView.TableViewFocusModel<S> |
A FocusModel с дополнительными возможностями для поддержки требований элемента управления TableView. |
static class |
TableView.TableViewSelectionModel<S> |
Простое расширение абстрактного класса SelectionModel для обеспечения специальной поддержки элементов управления TableView. |
Сводка полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
static final Callback<TableView.ResizeFeatures, |
CONSTRAINED_RESIZE_POLICY |
Устаревшее. |
static final Callback<TableView.ResizeFeatures, |
CONSTRAINED_RESIZE_POLICY_ALL_COLUMNS |
Политика изменения размера, которая изменяет другие столбцы для подгонки ширины таблицы. |
static final Callback<TableView.ResizeFeatures, |
CONSTRAINED_RESIZE_POLICY_FLEX_LAST_COLUMN |
Политика изменения размера, которая изменяет столбцы, начиная с последнего, для подгонки ширины таблицы. |
static final Callback<TableView.ResizeFeatures, |
CONSTRAINED_RESIZE_POLICY_FLEX_NEXT_COLUMN |
Политика изменения размера, которая изменяет столбцы, начиная со следующего, для подгонки ширины таблицы. |
static final Callback<TableView.ResizeFeatures, |
CONSTRAINED_RESIZE_POLICY_LAST_COLUMN |
Политика изменения размера, которая изменяет последний столбец для подгонки ширины таблицы. |
static final Callback<TableView.ResizeFeatures, |
CONSTRAINED_RESIZE_POLICY_NEXT_COLUMN |
Политика изменения размера, которая изменяет следующий столбец для подгонки ширины таблицы. |
static final Callback<TableView.ResizeFeatures, |
CONSTRAINED_RESIZE_POLICY_SUBSEQUENT_COLUMNS |
Политика изменения размера, которая изменяет последующие столбцы для подгонки ширины таблицы. |
static final Callback<TableView, |
DEFAULT_SORT_POLICY |
По умолчанию sort policy, который будет использовать этот TableView, если не указана другая политика. |
static final Callback<TableView.ResizeFeatures, |
UNCONSTRAINED_RESIZE_POLICY |
Очень простая политика изменения размера, которая просто изменяет размер указанного столбца на предоставленный дельту и смещает все другие столбцы (справа от данного столбца) дальше вправо (при положительной дельте) или влево (при отрицательной дельте). |
Поля, объявленные в классе javafx.scene.layout.Region
USE_COMPUTED_SIZE, USE_PREF_SIZE
Поля, объявленные в классе javafx.scene.Node
BASELINE_OFFSET_SAME_AS_HEIGHT
Сводка конструкторов
| Конструктор | Описание |
|---|---|
TableView() |
Создает элемент управления TableView по умолчанию без содержимого. |
TableView |
Создает TableView с содержимым, предоставленным в ObservableList элементов. |
Краткое описание методов
| Modifier and Type | Method | Description |
|---|---|---|
final ObjectProperty<Callback<TableView.ResizeFeatures, |
columnResizePolicyProperty() |
Вызывается при завершении операции изменения размера столбца. |
final ReadOnlyObjectProperty<Comparator<S>> |
comparatorProperty() |
Свойство comparator — это свойство только для чтения, которое отражает текущее состояние списка sort order. |
void |
edit |
Приводит ячейку по заданным индексам строки/столбца в состояние редактирования, если она не находится в этом состоянии, при условии, что TableView и столбец также могут быть редактируемыми. |
final BooleanProperty |
editableProperty() |
Указывает, является ли TableView редактируемым. Ячейка TableCell сможет перейти в состояние редактирования только в том случае, если TableView, TableColumn (при необходимости) и TableCells в нём также редактируемые. |
final ReadOnlyObjectProperty<TablePosition<S, |
editingCellProperty() |
Представляет текущую редактируемую ячейку или null, если ячеек, находящихся в состоянии редактирования, нет. |
final DoubleProperty |
fixedCellSizeProperty() |
Указывает, имеют ли ячейки данного элемента фиксированную высоту (заданного значения). |
final ObjectProperty<TableView.TableViewFocusModel<S>> |
focusModelProperty() |
Представляет текущий установленный TableView.TableViewFocusModel для данного TableView. |
static List<CssMetaData<? extends Styleable, |
getClassCssMetaData() |
Получает CssMetaData, связанный с этим классом, который может включать CssMetaData своих суперклассов. |
final Callback<TableView.ResizeFeatures, |
getColumnResizePolicy() |
Получает значение свойства columnResizePolicy. |
final ObservableList<TableColumn<S, |
getColumns() |
Столбцы TableColumns, которые являются частью данного TableView. |
final Comparator<S> |
getComparator() |
Получает значение свойства comparator. |
List<CssMetaData<? extends Styleable, |
getControlCssMetaData() |
Получает неизменяемый список CSS-стилизуемых свойств элемента управления. |
final TablePosition<S, |
getEditingCell() |
Получает значение свойства editingCell. |
final double |
getFixedCellSize() |
Возвращает значение фиксированного размера ячейки. |
final TableView.TableViewFocusModel<S> |
getFocusModel() |
Получает значение свойства focusModel. |
final ObservableList<S> |
getItems() |
Получает значение свойства items. |
EventHandler<ScrollToEvent<Integer>> |
getOnScrollTo() |
Получает значение свойства onScrollTo. |
EventHandler<ScrollToEvent<TableColumn<S, |
getOnScrollToColumn() |
Получает значение свойства onScrollToColumn. |
EventHandler<SortEvent<TableView<S>>> |
getOnSort() |
Получает значение свойства onSort. |
final Node |
getPlaceholder() |
Получает значение свойства placeholder. |
final Callback<TableView<S>, |
getRowFactory() |
Получает значение свойства rowFactory. |
final TableView.TableViewSelectionModel<S> |
getSelectionModel() |
Получает значение свойства selectionModel. |
final ObservableList<TableColumn<S, |
getSortOrder() |
Список sortOrder определяет порядок сортировки экземпляров TableColumn. |
final Callback<TableView<S>, |
getSortPolicy() |
Получает значение свойства sortPolicy. |
TableColumn<S, |
getVisibleLeafColumn |
Возвращает TableColumn по заданному индексу столбца, относительно всех других видимых столбцов. |
ObservableList<TableColumn<S, |
getVisibleLeafColumns() |
Возвращает неизменяемый список, содержащий текущие видимые столбцы. |
int |
getVisibleLeafIndex |
Возвращает позицию заданного столбца, относительно всех других видимых столбцов. |
final boolean |
isEditable() |
Получает значение свойства editable. |
final boolean |
isTableMenuButtonVisible() |
Получает значение свойства tableMenuButtonVisible. |
final ObjectProperty<ObservableList<S>> |
itemsProperty() |
Базовая модель данных для TableView. |
ObjectProperty<EventHandler<ScrollToEvent<TableColumn<S, |
onScrollToColumnProperty() |
Вызывается при запросе прокрутки столбца в область видимости с помощью scrollToColumn(TableColumn) или scrollToColumnIndex(int)
|
ObjectProperty<EventHandler<ScrollToEvent<Integer>>> |
onScrollToProperty() |
Вызывается при запросе прокрутки индекса в область видимости с помощью scrollTo(int) или scrollTo(Object)
|
ObjectProperty<EventHandler<SortEvent<TableView<S>>>> |
onSortProperty() |
Вызывается при запросе сортировки элемента управления. |
final ObjectProperty<Node> |
placeholderProperty() |
Этот узел отображается пользователю, когда в таблице нет отображаемых данных. |
void |
refresh() |
Вызов refresh() заставляет элемент управления TableView пересоздать и повторно заполнить ячейки, необходимые для заполнения визуальных границ элемента управления. |
boolean |
resizeColumn |
Применяет текущую политику изменения размера к заданному столбцу, изменяя его размер на основе предоставленного значения delta. |
final ObjectProperty<Callback<TableView<S>, |
rowFactoryProperty() |
Функция, которая генерирует TableRow. |
void |
scrollTo |
Прокручивает TableView таким образом, чтобы заданный индекс был виден в области просмотра. |
void |
scrollTo |
Прокручивает TableView таким образом, чтобы заданный объект был виден в области просмотра. |
void |
scrollToColumn |
Прокручивает TableView таким образом, чтобы заданный столбец был виден в области просмотра. |
void |
scrollToColumnIndex |
Прокручивает TableView таким образом, чтобы заданный индекс был виден в области просмотра. |
final ObjectProperty<TableView.TableViewSelectionModel<S>> |
selectionModelProperty() |
SelectionModel предоставляет API, с помощью которого можно выбирать одну или несколько элементов в TableView, а также проверять, какие элементы выбрал пользователь. |
final void |
setColumnResizePolicy |
Устанавливает значение свойства columnResizePolicy. |
final void |
setEditable |
Устанавливает значение свойства editable. |
final void |
setFixedCellSize |
Устанавливает новый фиксированный размер ячейки для этого элемента управления. |
final void |
setFocusModel |
Устанавливает значение свойства focusModel. |
final void |
setItems |
Устанавливает значение свойства items. |
void |
setOnScrollTo |
Устанавливает значение свойства onScrollTo. |
void |
setOnScrollToColumn |
Устанавливает значение свойства onScrollToColumn. |
void |
setOnSort |
Устанавливает значение свойства onSort. |
final void |
setPlaceholder |
Устанавливает значение свойства placeholder. |
final void |
setRowFactory |
Устанавливает значение свойства rowFactory. |
final void |
setSelectionModel |
Устанавливает значение свойства selectionModel. |
final void |
setSortPolicy |
Устанавливает значение свойства sortPolicy. |
final void |
setTableMenuButtonVisible |
Устанавливает значение свойства tableMenuButtonVisible. |
void |
sort() |
Метод sort принудительно запускает алгоритм сортировки TableView. |
final ObjectProperty<Callback<TableView<S>, |
sortPolicyProperty() |
Политика сортировки определяет, как должна выполняться сортировка в данном TableView. |
final BooleanProperty |
tableMenuButtonVisibleProperty() |
Это управляет тем, доступна ли кнопка меню, когда пользователь щелкает в выделенном пространстве в TableView, в котором находится элемент радио-меню для каждого TableColumn в этой таблице. |
Методы, объявленные в классе javafx.scene.control.Control
computeMaxHeight, computeMaxWidth, computeMinHeight, computeMinWidth, contextMenuProperty, createDefaultSkin, getContextMenu, getCssMetaData, getInitialFocusTraversable, getSkin, getTooltip, isResizable, setContextMenu, setSkin, setTooltip, skinProperty, tooltipProperty
Методы, объявленные в классе javafx.scene.layout.Region
backgroundProperty, borderProperty, cacheShapeProperty, centerShapeProperty, computePrefHeight, computePrefWidth, getBackground, getBorder, getHeight, getInsets, getMaxHeight, getMaxWidth, getMinHeight, getMinWidth, getOpaqueInsets, getPadding, getPrefHeight, getPrefWidth, getShape, getUserAgentStylesheet, getWidth, heightProperty, insetsProperty, isCacheShape, isCenterShape, isScaleShape, isSnapToPixel, layoutInArea, layoutInArea, layoutInArea, layoutInArea, maxHeight, maxHeightProperty, maxWidth, maxWidthProperty, minHeight, minHeightProperty, minWidth, minWidthProperty, opaqueInsetsProperty, paddingProperty, positionInArea, positionInArea, prefHeight, prefHeightProperty, prefWidth, prefWidthProperty, resize, scaleShapeProperty, setBackground, setBorder, setCacheShape, setCenterShape, setHeight, setMaxHeight, setMaxSize, setMaxWidth, setMinHeight, setMinSize, setMinWidth, setOpaqueInsets, setPadding, setPrefHeight, setPrefSize, setPrefWidth, setScaleShape, setShape, setSnapToPixel, setWidth, shapeProperty, snappedBottomInset, snappedLeftInset, snappedRightInset, snappedTopInset, snapPosition, snapPositionX, snapPositionY, snapSize, snapSizeX, snapSizeY, snapSpace, snapSpaceX, snapSpaceY, snapToPixelProperty, widthProperty
Методы, объявленные в классе javafx.scene.Parent
getBaselineOffset, getChildren, getChildrenUnmodifiable, getManagedChildren, getStylesheets, isNeedsLayout, layout, layoutChildren, needsLayoutProperty, requestLayout, requestParentLayout, setNeedsLayout, updateBounds
Методы, объявленные в классе javafx.scene.Node
accessibleHelpProperty, accessibleRoleDescriptionProperty, accessibleRoleProperty, accessibleTextProperty, addEventFilter, addEventHandler, applyCss, autosize, blendModeProperty, boundsInLocalProperty, boundsInParentProperty, buildEventDispatchChain, cacheHintProperty, cacheProperty, clipProperty, computeAreaInScreen, contains, contains, cursorProperty, depthTestProperty, disabledProperty, disableProperty, effectiveNodeOrientationProperty, effectProperty, eventDispatcherProperty, executeAccessibleAction, fireEvent, focusedProperty, focusTraversableProperty, focusVisibleProperty, focusWithinProperty, getAccessibleHelp, getAccessibleRole, getAccessibleRoleDescription, getAccessibleText, getBlendMode, getBoundsInLocal, getBoundsInParent, getCacheHint, getClip, getContentBias, getCursor, getDepthTest, getEffect, getEffectiveNodeOrientation, getEventDispatcher, getId, getInitialCursor, getInputMethodRequests, getLayoutBounds, getLayoutX, getLayoutY, getLocalToParentTransform, getLocalToSceneTransform, getNodeOrientation, getOnContextMenuRequested, getOnDragDetected, getOnDragDone, getOnDragDropped, getOnDragEntered, getOnDragExited, getOnDragOver, getOnInputMethodTextChanged, getOnKeyPressed, getOnKeyReleased, getOnKeyTyped, getOnMouseClicked, getOnMouseDragEntered, getOnMouseDragExited, getOnMouseDragged, getOnMouseDragOver, getOnMouseDragReleased, getOnMouseEntered, getOnMouseExited, getOnMouseMoved, getOnMousePressed, getOnMouseReleased, getOnRotate, getOnRotationFinished, getOnRotationStarted, getOnScroll, getOnScrollFinished, getOnScrollStarted, getOnSwipeDown, getOnSwipeLeft, getOnSwipeRight, getOnSwipeUp, getOnTouchMoved, getOnTouchPressed, getOnTouchReleased, getOnTouchStationary, getOnZoom, getOnZoomFinished, getOnZoomStarted, getOpacity, getParent, getProperties, getPseudoClassStates, getRotate, getRotationAxis, getScaleX, getScaleY, getScaleZ, getScene, getStyle, getStyleableParent, getStyleClass, getTransforms, getTranslateX, getTranslateY, getTranslateZ, getTypeSelector, getUserData, getViewOrder, hasProperties, hoverProperty, idProperty, inputMethodRequestsProperty, intersects, intersects, isCache, isDisable, isDisabled, isFocused, isFocusTraversable, isFocusVisible, isFocusWithin, isHover, isManaged, isMouseTransparent, isPickOnBounds, isPressed, isVisible, layoutBoundsProperty, layoutXProperty, layoutYProperty, localToParent, localToParent, localToParent, localToParent, localToParent, localToParentTransformProperty, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToSceneTransformProperty, localToScreen, localToScreen, localToScreen, localToScreen, localToScreen, lookup, lookupAll, managedProperty, mouseTransparentProperty, nodeOrientationProperty, notifyAccessibleAttributeChanged, onContextMenuRequestedProperty, onDragDetectedProperty, onDragDoneProperty, onDragDroppedProperty, onDragEnteredProperty, onDragExitedProperty, onDragOverProperty, onInputMethodTextChangedProperty, onKeyPressedProperty, onKeyReleasedProperty, onKeyTypedProperty, onMouseClickedProperty, onMouseDragEnteredProperty, onMouseDragExitedProperty, onMouseDraggedProperty, onMouseDragOverProperty, onMouseDragReleasedProperty, onMouseEnteredProperty, onMouseExitedProperty, onMouseMovedProperty, onMousePressedProperty, onMouseReleasedProperty, onRotateProperty, onRotationFinishedProperty, onRotationStartedProperty, onScrollFinishedProperty, onScrollProperty, onScrollStartedProperty, onSwipeDownProperty, onSwipeLeftProperty, onSwipeRightProperty, onSwipeUpProperty, onTouchMovedProperty, onTouchPressedProperty, onTouchReleasedProperty, onTouchStationaryProperty, onZoomFinishedProperty, onZoomProperty, onZoomStartedProperty, opacityProperty, parentProperty, parentToLocal, parentToLocal, parentToLocal, parentToLocal, parentToLocal, pickOnBoundsProperty, pressedProperty, pseudoClassStateChanged, queryAccessibleAttribute, relocate, removeEventFilter, removeEventHandler, requestFocus, resizeRelocate, rotateProperty, rotationAxisProperty, scaleXProperty, scaleYProperty, scaleZProperty, sceneProperty, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, screenToLocal, screenToLocal, screenToLocal, setAccessibleHelp, setAccessibleRole, setAccessibleRoleDescription, setAccessibleText, setBlendMode, setCache, setCacheHint, setClip, setCursor, setDepthTest, setDisable, setDisabled, setEffect, setEventDispatcher, setEventHandler, setFocused, setFocusTraversable, setHover, setId, setInputMethodRequests, setLayoutX, setLayoutY, setManaged, setMouseTransparent, setNodeOrientation, setOnContextMenuRequested, setOnDragDetected, setOnDragDone, setOnDragDropped, setOnDragEntered, setOnDragExited, setOnDragOver, setOnInputMethodTextChanged, setOnKeyPressed, setOnKeyReleased, setOnKeyTyped, setOnMouseClicked, setOnMouseDragEntered, setOnMouseDragExited, setOnMouseDragged, setOnMouseDragOver, setOnMouseDragReleased, setOnMouseEntered, setOnMouseExited, setOnMouseMoved, setOnMousePressed, setOnMouseReleased, setOnRotate, setOnRotationFinished, setOnRotationStarted, setOnScroll, setOnScrollFinished, setOnScrollStarted, setOnSwipeDown, setOnSwipeLeft, setOnSwipeRight, setOnSwipeUp, setOnTouchMoved, setOnTouchPressed, setOnTouchReleased, setOnTouchStationary, setOnZoom, setOnZoomFinished, setOnZoomStarted, setOpacity, setPickOnBounds, setPressed, setRotate, setRotationAxis, setScaleX, setScaleY, setScaleZ, setStyle, setTranslateX, setTranslateY, setTranslateZ, setUserData, setViewOrder, setVisible, snapshot, snapshot, startDragAndDrop, startFullDrag, styleProperty, toBack, toFront, toString, translateXProperty, translateYProperty, translateZProperty, usesMirroring, viewOrderProperty, visibleProperty
Методы, объявленные в классе java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Методы, объявленные в интерфейсе javafx.css.Styleable
getStyleableNode
Подробности свойств
items
public final ObjectProperty<ObservableList<S>> itemsProperty
- См. также:
tableMenuButtonVisible
public final BooleanProperty tableMenuButtonVisibleProperty
columnResizePolicy
public final ObjectProperty<Callback<TableView.ResizeFeatures,Boolean>> columnResizePolicyProperty
UNCONSTRAINED_RESIZE_POLICY и CONSTRAINED_RESIZE_POLICY.rowFactory
public final ObjectProperty<Callback<TableView<S>,TableRow<S>>> rowFactoryProperty
Обратите внимание, что TableRow — это не TableCell. TableRow — это просто контейнер для TableCell, и в большинстве случаев скорее всего вам захочется создать пользовательские TableCell, а не TableRow. Основной случай использования для создания пользовательских экземпляров TableRow, скорее всего, будет связан с поддержкой охватывания столбцов.
Вы можете создавать пользовательские экземпляры TableCell для каждого столбца, назначив соответствующую функцию свойству cellFactory в классе TableColumn.
placeholder
public final ObjectProperty<Node> placeholderProperty
selectionModel
public final ObjectProperty<TableView.TableViewSelectionModel<S>> selectionModelProperty
focusModel
public final ObjectProperty<TableView.TableViewFocusModel<S>> focusModelProperty
TableView.TableViewFocusModel для этого TableView. В подавляющем большинстве случаев достаточно оставить это значение по умолчанию.editable
public final BooleanProperty editableProperty
- См. также:
fixedCellSize
public final DoubleProperty fixedCellSizeProperty
Чтобы установить это свойство через CSS, используйте свойство -fx-fixed-cell-size. Это не следует путать со свойством -fx-cell-size. Разница между этими двумя CSS-свойствами заключается в том, что -fx-cell-size задаст размер всех ячеек до указанного размера, но не будет навязывать, что это единственный размер (позволяя переменные размеры ячеек и предотвращая возможный прирост производительности). Следовательно, когда производительность важна, используйте -fx-fixed-cell-size вместо -fx-cell-size. Если оба свойства указаны в CSS, -fx-fixed-cell-size имеет приоритет.
- С момента:
- JavaFX 8.0
- См. также:
editingCell
public final ReadOnlyObjectProperty<TablePosition<S,?>> editingCellProperty
- См. также:
comparator
public final ReadOnlyObjectProperty<Comparator<S>> comparatorProperty
sort order. Список порядка сортировки содержит столбцы, которые были добавлены в него программно или путём нажатия пользователем на сами заголовки.- С момента:
- JavaFX 8.0
- См. также:
sortPolicy
public final ObjectProperty<Callback<TableView<S>,Boolean>> sortPolicyProperty
FXCollections.sort(tableView.getItems()), в то время как более сложная политика сортировки может обратиться к базе данных для выполнения необходимой сортировки на стороне сервера. TableView поставляется с политикой сортировки default
sort policy, которая выполняет именно то, что описано выше: она просто пытается отсортировать список элементов на месте.
Рекомендуется не переопределять метод sort, а вместо этого предоставить другую политику сортировки.
- С момента:
- JavaFX 8.0
- См. также:
onSort
public ObjectProperty<EventHandler<SortEvent<TableView<S>>>> onSortProperty
- С момента:
- JavaFX 8.0
- См. также:
onScrollTo
public ObjectProperty<EventHandler<ScrollToEvent<Integer>>> onScrollToProperty
scrollTo(int) или scrollTo(Object)
- С момента:
- JavaFX 8.0
- См. также:
onScrollToColumn
public ObjectProperty<EventHandler<ScrollToEvent<TableColumn<S,?>>>> onScrollToColumnProperty
scrollToColumn(TableColumn) или scrollToColumnIndex(int)
- С момента:
- JavaFX 8.0
- См. также:
Подробности полей
НЕОГРАНИЧЕННАЯ_ПОЛИТИКА_МАСШТАБИРОВАНИЯ
public static final Callback<TableView.ResizeFeatures,Boolean> UNCONSTRAINED_RESIZE_POLICY
Очень простая политика масштабирования, которая просто масштабирует указанный столбец на заданный дельта и смещает все остальные столбцы (правее заданного столбца) дальше вправо (когда дельта положительная) или влево (когда дельта отрицательная).
Она также обрабатывает случай, когда у нас есть вложенные столбцы, деля новое пространство или вычитая удаленное пространство равномерно между всеми непосредственными дочерними столбцами. Конечно, непосредственные дочерние элементы могут быть вложены, и тогда они будут использовать эту политику для своих дочерних элементов.
ПОЛИТИКА_МАСШТАБИРОВАНИЯ_СО_ВСЕМИ_СТОЛБЦАМИ
public static final Callback<TableView.ResizeFeatures,Boolean> CONSTRAINED_RESIZE_POLICY_ALL_COLUMNS
Когда ограничения столбцов делают невозможным размещение всех столбцов в разрешенной области, столбцы либо обрезаются, либо появляется пустое место. Эта политика отключает горизонтальную полосу прокрутки.
- Since:
- 20
ПОЛИТИКА_МАСШТАБИРОВАНИЯ_ПОСЛЕДНЕГО_СТОЛБЦА
public static final Callback<TableView.ResizeFeatures,Boolean> CONSTRAINED_RESIZE_POLICY_LAST_COLUMN
Когда ограничения столбцов делают невозможным размещение всех столбцов в разрешенной области, столбцы либо обрезаются, либо появляется пустое место. Эта политика отключает горизонтальную полосу прокрутки.
- Since:
- 20
ПОЛИТИКА_МАСШТАБИРОВАНИЯ_СОСЕДНЕГО_СТОЛБЦА
public static final Callback<TableView.ResizeFeatures,Boolean> CONSTRAINED_RESIZE_POLICY_NEXT_COLUMN
Когда ограничения столбцов делают невозможным размещение всех столбцов в разрешенной области, столбцы либо обрезаются, либо появляется пустое место. Эта политика отключает горизонтальную полосу прокрутки.
- Since:
- 20
ПОЛИТИКА_МАСШТАБИРОВАНИЯ_СЛЕДУЮЩИХ_СТОЛБЦОВ
public static final Callback<TableView.ResizeFeatures,Boolean> CONSTRAINED_RESIZE_POLICY_SUBSEQUENT_COLUMNS
Когда ограничения столбцов делают невозможным размещение всех столбцов в разрешенной области, столбцы либо обрезаются, либо появляется пустое место. Эта политика отключает горизонтальную полосу прокрутки.
- Since:
- 20
ПОЛИТИКА_МАСШТАБИРОВАНИЯ_ГИБКОГО_СОСЕДНЕГО_СТОЛБЦА
public static final Callback<TableView.ResizeFeatures,Boolean> CONSTRAINED_RESIZE_POLICY_FLEX_NEXT_COLUMN
Когда ограничения столбцов делают невозможным размещение всех столбцов в разрешенной области, столбцы либо обрезаются, либо появляется пустое место. Эта политика отключает горизонтальную полосу прокрутки.
- Since:
- 20
ПОЛИТИКА_МАСШТАБИРОВАНИЯ_ГИБКОГО_ПОСЛЕДНЕГО_СТОЛБЦА
public static final Callback<TableView.ResizeFeatures,Boolean> CONSTRAINED_RESIZE_POLICY_FLEX_LAST_COLUMN
Когда ограничения столбцов делают невозможным размещение всех столбцов в разрешенной области, столбцы либо обрезаются, либо появляется пустое место. Эта политика отключает горизонтальную полосу прокрутки.
- Since:
- 20
ПОЛИТИКА_МАСШТАБИРОВАНИЯ
@Deprecated(since="20") public static final Callback<TableView.ResizeFeatures,Boolean> CONSTRAINED_RESIZE_POLICY
CONSTRAINED_RESIZE_POLICY_FLEX_LAST_COLUMN вместо этого.Простая политика, которая гарантирует, что сумма ширины всех видимых листовых столбцов в этой таблице равна ширине самой таблицы.
Когда пользователь изменяет ширину столбца с помощью этой политики, таблица автоматически корректирует ширину столбцов справа. Когда пользователь увеличивает ширину столбца, таблица уменьшает ширину правого столбца до достижения его минимальной ширины. Затем она уменьшает ширину второго правого столбца до достижения минимальной ширины и так далее. Когда все столбцы справа достигают минимального размера, пользователь больше не может увеличить размер измененного столбца.
ПОЛИТИКА_СОРТИРОВКИ_ПО_УМОЛЧАНИЮ
public static final Callback<TableView,Boolean> DEFAULT_SORT_POLICY
sort policy, которое будет использоваться этим TableView, если не указана другая политика. Политика сортировки — это простая Callback, которая принимает TableView в качестве единственного аргумента и ожидает булевый ответ, представляющий, удалась ли сортировка или нет. Булевый ответ true представляет успех, а ответ false (или null) будет интерпретироваться как неудача.- Since:
- JavaFX 8.0
Подробное описание конструкторов
TableView
public TableView()
Обратитесь к документации класса TableView за подробностями о состоянии по умолчанию других свойств.
TableView
public TableView(ObservableList<S> items)
Обратитесь к документации класса TableView за подробностями о состоянии по умолчанию других свойств.
- Parameters:
-
items- Элементы для вставки в TableView и список для отслеживания изменений (для автоматического отображения в TableView).
Подробное описание методов
itemsProperty
public final ObjectProperty<ObservableList<S>> itemsProperty()
- Returns:
- свойство items
- See Also:
setItems
public final void setItems(ObservableList<S> value)
items.- Property description:
- Базовая модель данных для TableView. Обратите внимание, что у нее есть универсальный тип, который должен совпадать с типом самого TableView.
- Parameters:
-
value- значение для свойстваitems - See Also:
getItems
public final ObservableList<S> getItems()
items.- Property description:
- Базовая модель данных для TableView. Обратите внимание, что у нее есть универсальный тип, который должен совпадать с типом самого TableView.
- Returns:
- значение свойства
items - See Also:
tableMenuButtonVisibleProperty
public final BooleanProperty tableMenuButtonVisibleProperty()
- Returns:
- свойство tableMenuButtonVisible
- See Also:
setTableMenuButtonVisible
public final void setTableMenuButtonVisible(boolean value)
tableMenuButtonVisible.- Property description:
- Управляет доступностью кнопки меню, когда пользователь нажимает в выделенной области TableView, в которой находится элемент радиоменю для каждого TableColumn в этой таблице. Это меню позволяет пользователю легко показывать и скрывать все TableColumn.
- Parameters:
-
value- значение для свойстваtableMenuButtonVisible - See Also:
isTableMenuButtonVisible
public final boolean isTableMenuButtonVisible()
tableMenuButtonVisible.- Описание свойства:
- Управляет отображением кнопки меню, которая появляется при нажатии в выделенной области TableView, содержащей радио-элементы меню для каждого столбца TableColumn в этой таблице. Это меню позволяет легко показывать и скрывать все столбцы таблицы.
- Возвращает:
- значение свойства
tableMenuButtonVisible - См. также:
setColumnResizePolicy
public final void setColumnResizePolicy(Callback<TableView.ResizeFeatures,Boolean> callback)
columnResizePolicy.- Описание свойства:
- Вызывается при завершении операции изменения размера столбца. Два наиболее распространённых варианта политики доступны как статические функции в классе TableView:
UNCONSTRAINED_RESIZE_POLICYиCONSTRAINED_RESIZE_POLICY. - Параметры:
-
callback- значение для свойстваcolumnResizePolicy - См. также:
getColumnResizePolicy
public final Callback<TableView.ResizeFeatures,Boolean> getColumnResizePolicy()
columnResizePolicy.- Описание свойства:
- Вызывается при завершении операции изменения размера столбца. Два наиболее распространённых варианта политики доступны как статические функции в классе TableView:
UNCONSTRAINED_RESIZE_POLICYиCONSTRAINED_RESIZE_POLICY. - Возвращает:
- значение свойства
columnResizePolicy - См. также:
columnResizePolicyProperty
public final ObjectProperty<Callback<TableView.ResizeFeatures,Boolean>> columnResizePolicyProperty()
UNCONSTRAINED_RESIZE_POLICY и CONSTRAINED_RESIZE_POLICY.- Возвращает:
- свойство columnResizePolicy
- См. также:
rowFactoryProperty
public final ObjectProperty<Callback<TableView<S>,TableRow<S>>> rowFactoryProperty()
Обратите внимание, что TableRow — это не TableCell. TableRow — это просто контейнер для TableCell, и в большинстве случаев, скорее всего, вам потребуется создавать настраиваемые TableCell, а не TableRow. Основной случай использования создания настраиваемых объектов TableRow, вероятно, будет заключаться в добавлении поддержки размаха столбцов.
Вы можете создавать настраиваемые объекты TableCell для каждого столбца, назначив соответствующую функцию свойству cellFactory в классе TableColumn.
- Возвращает:
- свойство rowFactory
- См. также:
setRowFactory
public final void setRowFactory(Callback<TableView<S>,TableRow<S>> value)
rowFactory.- Описание свойства:
- Функция, создающая объект TableRow. Система отвечает за повторное использование TableRow. Функция должна возвращать TableRow, который может использоваться для представления одной строки в TableView.
Обратите внимание, что TableRow — это не TableCell. TableRow — это просто контейнер для TableCell, и в большинстве случаев, скорее всего, вам потребуется создавать настраиваемые TableCell, а не TableRow. Основной случай использования создания настраиваемых объектов TableRow, вероятно, будет заключаться в добавлении поддержки размаха столбцов.
Вы можете создавать настраиваемые объекты TableCell для каждого столбца, назначив соответствующую функцию свойству cellFactory в классе TableColumn.
- Параметры:
-
value- значение для свойстваrowFactory - См. также:
getRowFactory
public final Callback<TableView<S>,TableRow<S>> getRowFactory()
rowFactory.- Описание свойства:
- Функция, создающая объект TableRow. Система отвечает за повторное использование TableRow. Функция должна возвращать TableRow, который может использоваться для представления одной строки в TableView.
Обратите внимание, что TableRow — это не TableCell. TableRow — это просто контейнер для TableCell, и в большинстве случаев, скорее всего, вам потребуется создавать настраиваемые TableCell, а не TableRow. Основной случай использования создания настраиваемых объектов TableRow, вероятно, будет заключаться в добавлении поддержки размаха столбцов.
Вы можете создавать настраиваемые объекты TableCell для каждого столбца, назначив соответствующую функцию свойству cellFactory в классе TableColumn.
- Возвращает:
- значение свойства
rowFactory - См. также:
placeholderProperty
public final ObjectProperty<Node> placeholderProperty()
- Возвращает:
- свойство placeholder
- См. также:
setPlaceholder
public final void setPlaceholder(Node value)
placeholder.- Описание свойства:
- Этот узел отображается пользователю, когда таблица не содержит данных для отображения. Это может быть связано с отсутствием данных в модели таблицы, применением фильтра к модели таблицы, отсутствием отображаемых столбцов.
- Параметры:
-
value- значение для свойстваplaceholder - См. также:
getPlaceholder
public final Node getPlaceholder()
placeholder.- Описание свойства:
- Этот узел отображается пользователю, когда таблица не содержит данных для отображения. Это может быть связано с отсутствием данных в модели таблицы, применением фильтра к модели таблицы, отсутствием отображаемых столбцов.
- Возвращает:
- значение свойства
placeholder - См. также:
selectionModelProperty
public final ObjectProperty<TableView.TableViewSelectionModel<S>> selectionModelProperty()
- Возвращает:
- свойство selectionModel
- См. также:
setSelectionModel
public final void setSelectionModel(TableView.TableViewSelectionModel<S> value)
selectionModel.- Описание свойства:
- SelectionModel предоставляет API для выбора одной или нескольких элементов в TableView, а также для проверки, какие элементы выбраны пользователем. Обратите внимание, что у него есть общий тип, который должен соответствовать типу самой TableView.
- Параметры:
-
value- значение для свойстваselectionModel - См. также:
getSelectionModel
public final TableView.TableViewSelectionModel<S> getSelectionModel()
selectionModel.- Описание свойства:
- SelectionModel предоставляет API для выбора одной или нескольких строк в TableView, а также для проверки выбранных пользователем строк. Обратите внимание, что у него есть общий тип, который должен соответствовать типу самого TableView.
- Возвращает:
- значение свойства
selectionModel - См. также:
setFocusModel
public final void setFocusModel(TableView.TableViewFocusModel<S> value)
focusModel.- Описание свойства:
- Представляет текущую установку
TableView.TableViewFocusModelдля этого TableView. В подавляющем большинстве случаев достаточно оставить настройки по умолчанию. - Параметры:
-
value- значение свойстваfocusModel - См. также:
getFocusModel
public final TableView.TableViewFocusModel<S> getFocusModel()
focusModel.- Описание свойства:
- Представляет текущую установку
TableView.TableViewFocusModelдля этого TableView. В подавляющем большинстве случаев достаточно оставить настройки по умолчанию. - Возвращает:
- значение свойства
focusModel - См. также:
focusModelProperty
public final ObjectProperty<TableView.TableViewFocusModel<S>> focusModelProperty()
TableView.TableViewFocusModel для этого TableView. В подавляющем большинстве случаев достаточно оставить настройки по умолчанию.- Возвращает:
- свойство focusModel
- См. также:
setEditable
public final void setEditable(boolean value)
editable.- Описание свойства:
- Указывает, редактируемо ли это TableView - только если TableView, TableColumn (применимо) и TableCells внутри него редактируемы, TableCell сможет перейти в состояние редактирования.
- Параметры:
-
value- значение свойстваeditable - См. также:
isEditable
public final boolean isEditable()
editable.- Описание свойства:
- Указывает, редактируемо ли это TableView - только если TableView, TableColumn (применимо) и TableCells внутри него редактируемы, TableCell сможет перейти в состояние редактирования.
- Возвращает:
- значение свойства
editable - См. также:
editableProperty
public final BooleanProperty editableProperty()
- Возвращает:
- свойство editable
- См. также:
setFixedCellSize
public final void setFixedCellSize(double value)
- Параметры:
-
value- Новое значение фиксированного размера ячейки или значение меньше или равно нулю (или Region.USE_COMPUTED_SIZE) для отключения. - Since:
- JavaFX 8.0
getFixedCellSize
public final double getFixedCellSize()
- Возвращает:
- Double, представляющий фиксированный размер ячейки этого элемента управления, или значение меньше или равно нулю, если режим фиксированного размера ячейки отключен.
- Since:
- JavaFX 8.0
fixedCellSizeProperty
public final DoubleProperty fixedCellSizeProperty()
Чтобы установить это свойство через CSS, используйте свойство -fx-fixed-cell-size. Его не следует путать со свойством -fx-cell-size. Разница между этими двумя свойствами CSS заключается в том, что -fx-cell-size установит размер всех ячеек до указанного размера, но не будет навязывать, что это единственный размер (позволяя переменные размеры ячеек и предотвращая возможность повышения производительности). Поэтому, когда важна производительность, используйте -fx-fixed-cell-size вместо -fx-cell-size. Если оба свойства указаны в CSS, -fx-fixed-cell-size имеет приоритет.
- Возвращает:
- свойство fixedCellSize
- Since:
- JavaFX 8.0
- См. также:
getEditingCell
public final TablePosition<S,?> getEditingCell()
editingCell.- Описание свойства:
- Представляет текущую редактируемую ячейку или null, если ячейка не редактируется.
- Возвращает:
- значение свойства
editingCell - См. также:
editingCellProperty
public final ReadOnlyObjectProperty<TablePosition<S,?>> editingCellProperty()
- Возвращает:
- свойство editingCell
- См. также:
getComparator
public final Comparator<S> getComparator()
comparator.- Описание свойства:
- Свойство comparator — это свойство только для чтения, которое отражает текущее состояние списка
sort order. Список порядка сортировки содержит столбцы, которые были добавлены в него программно или пользователем щелчком по заголовкам. - Возвращает:
- значение свойства
comparator - Since:
- JavaFX 8.0
- См. также:
comparatorProperty
public final ReadOnlyObjectProperty<Comparator<S>> comparatorProperty()
sort order. Список порядка сортировки содержит столбцы, которые были добавлены в него программно или пользователем щелчком по заголовкам.- Возвращает:
- свойство
comparator - Since:
- JavaFX 8.0
- См. также:
setSortPolicy
public final void setSortPolicy(Callback<TableView<S>,Boolean> callback)
sortPolicy.- Описание свойства:
- Политика сортировки определяет, как должна выполняться сортировка в этом TableView. Например, базовая политика сортировки может просто вызвать
FXCollections.sort(tableView.getItems()), а более продвинутая политика может вызвать базу данных для выполнения необходимой сортировки на стороне сервера.TableView поставляется с
default sort policy, который делает именно то, что упомянуто выше: он просто пытается отсортировать список элементов на месте.Рекомендуется предоставлять другую политику сортировки, а не переопределять метод
sort. - Параметры:
-
callback- значение свойстваsortPolicy - Since:
- JavaFX 8.0
- См. также:
getSortPolicy
public final Callback<TableView<S>,Boolean> getSortPolicy()
sortPolicy.- Описание свойства:
- Политика сортировки определяет, как должна выполняться сортировка в этом элементе TableView. Например, базовая политика сортировки может просто вызвать
FXCollections.sort(tableView.getItems()), тогда как более продвинутая политика сортировки может обратиться к базе данных для выполнения необходимой сортировки на стороне сервера.TableView поставляется с
default sort policy, которая делает именно то, что указано выше: она просто пытается отсортировать список элементов на месте.Рекомендуется использовать другую политику сортировки вместо переопределения метода
sort. - Возвращает:
- значение свойства
sortPolicy - С:
- JavaFX 8.0
- См. также:
sortPolicyProperty
public final ObjectProperty<Callback<TableView<S>,Boolean>> sortPolicyProperty()
FXCollections.sort(tableView.getItems()), тогда как более продвинутая политика сортировки может обратиться к базе данных для выполнения необходимой сортировки на стороне сервера. TableView поставляется с default
sort policy, которая делает именно то, что указано выше: она просто пытается отсортировать список элементов на месте.
Рекомендуется использовать другую политику сортировки вместо переопределения метода sort.
- Возвращает:
- свойство
sortPolicy - С:
- JavaFX 8.0
- См. также:
setOnSort
public void setOnSort(EventHandler<SortEvent<TableView<S>>> value)
onSort.- Описание свойства:
- Вызывается, когда поступает запрос на сортировку элемента управления.
- Параметры:
-
value- значение для свойстваonSort - С:
- JavaFX 8.0
- См. также:
getOnSort
public EventHandler<SortEvent<TableView<S>>> getOnSort()
onSort.- Описание свойства:
- Вызывается, когда поступает запрос на сортировку элемента управления.
- Возвращает:
- значение свойства
onSort - С:
- JavaFX 8.0
- См. также:
onSortProperty
public ObjectProperty<EventHandler<SortEvent<TableView<S>>>> onSortProperty()
- Возвращает:
- свойство
onSort - С:
- JavaFX 8.0
- См. также:
getColumns
public final ObservableList<TableColumn<S,?>> getColumns()
Примечание: для отображения данных в TableView должен быть хотя бы один TableColumn в этом списке ObservableList.
- Возвращает:
- столбцы
getSortOrder
public final ObservableList<TableColumn<S,?>> getSortOrder()
TableColumn. Пустой список sortOrder означает, что сортировка в TableView не применяется. Если список sortOrder содержит один TableColumn, TableView будет отсортирован с использованием свойств sortType и comparator этого TableColumn (при условии, что TableColumn.sortable равно true). Если список sortOrder содержит несколько TableColumn, то TableView сначала сортируется на основе свойств первого TableColumn. Если два элемента считаются равными, то для определения порядка используется второй TableColumn в списке. Это повторяется до тех пор, пока результаты от всех сравнителей TableColumn не будут учтены, если это необходимо.- Возвращает:
- ObservableList, содержащий ноль или более экземпляров TableColumn.
scrollTo
public void scrollTo(int index)
- Параметры:
-
index- Индекс элемента, который должен быть виден пользователю.
scrollTo
public void scrollTo(S object)
- Параметры:
-
object- Объект, который должен быть виден пользователю. - С:
- JavaFX 8.0
setOnScrollTo
public void setOnScrollTo(EventHandler<ScrollToEvent<Integer>> value)
onScrollTo.- Описание свойства:
- Вызывается, когда поступает запрос на прокрутку индекса в область просмотра с помощью
scrollTo(int)илиscrollTo(Object) - Параметры:
-
value- значение для свойстваonScrollTo - С:
- JavaFX 8.0
- См. также:
getOnScrollTo
public EventHandler<ScrollToEvent<Integer>> getOnScrollTo()
onScrollTo.- Описание свойства:
- Вызывается, когда поступает запрос на прокрутку индекса в область просмотра с помощью
scrollTo(int)илиscrollTo(Object) - Возвращает:
- значение свойства
onScrollTo - С:
- JavaFX 8.0
- См. также:
onScrollToProperty
public ObjectProperty<EventHandler<ScrollToEvent<Integer>>> onScrollToProperty()
scrollTo(int) или scrollTo(Object)
- Возвращает:
- свойство
onScrollTo - С:
- JavaFX 8.0
- См. также:
scrollToColumn
public void scrollToColumn(TableColumn<S,?> column)
- Параметры:
-
column- Столбец, который должен быть виден пользователю. - С:
- JavaFX 8.0
scrollToColumnIndex
public void scrollToColumnIndex(int columnIndex)
- Параметры:
-
columnIndex- Индекс столбца, который должен быть виден пользователю. - С:
- JavaFX 8.0
setOnScrollToColumn
public void setOnScrollToColumn(EventHandler<ScrollToEvent<TableColumn<S,?>>> value)
onScrollToColumn.- Описание свойства:
- Вызывается, когда поступает запрос на прокрутку столбца в область просмотра с помощью
scrollToColumn(TableColumn)илиscrollToColumnIndex(int) - Параметры:
-
value- значение для свойстваonScrollToColumn - С:
- JavaFX 8.0
- См. также:
getOnScrollToColumn
public EventHandler<ScrollToEvent<TableColumn<S,?>>> getOnScrollToColumn()
onScrollToColumn.- Описание свойства:
- Вызывается, когда поступает запрос на прокрутку столбца в область просмотра с помощью
scrollToColumn(TableColumn)илиscrollToColumnIndex(int) - Возвращает:
- значение свойства
onScrollToColumn - С:
- JavaFX 8.0
- См. также:
onScrollToColumnProperty
public ObjectProperty<EventHandler<ScrollToEvent<TableColumn<S,?>>>> onScrollToColumnProperty()
scrollToColumn(TableColumn) или scrollToColumnIndex(int)
- Возвращает:
- свойство
onScrollToColumn - С:
- JavaFX 8.0
- См. также:
resizeColumn
public boolean resizeColumn(TableColumn<S,?> column, double delta)
- Параметры:
-
column- столбец -
delta- дельта - Возвращает:
- true, если изменение размера столбца разрешено
edit
public void edit(int row, TableColumn<S,?> column)
Примечание: Этот метод отменит редактирование, если значение заданной строки меньше нуля, а заданный столбец равен null.
- Параметры:
-
row- строка -
column- столбец
getVisibleLeafColumns
public ObservableList<TableColumn<S,?>> getVisibleLeafColumns()
- Возвращает:
- неизменяемый список, содержащий текущие видимые листовые столбцы
getVisibleLeafIndex
public int getVisibleLeafIndex(TableColumn<S,?> column)
- Параметры:
-
column- столбец - Возвращает:
- позицию данного столбца относительно всех остальных видимых листовых столбцов
getVisibleLeafColumn
public TableColumn<S,?> getVisibleLeafColumn(int column)
- Параметры:
-
column- индекс столбца - Возвращает:
- TableColumn в заданном индексе столбца, относительно всех других видимых листовых столбцов
sort
public void sort()
sort order, sort policy или состояния столбца TableColumn sort type. Другими словами, этот метод следует вызывать напрямую только тогда, когда что-то внешнее изменяется, и требуется сортировка.- С:
- JavaFX 8.0
refresh
public void refresh()
refresh() заставляет элемент управления TableView пересоздать и повторно заполнить ячейки, необходимые для заполнения визуальных границ элемента управления. Другими словами, это принудительно обновляет отображаемую в TableView информацию для пользователя. Это полезно в случаях, когда базовый источник данных изменился таким образом, что это не наблюдается самим TableView.- С:
- JavaFX 8u60
getClassCssMetaData
public static List<CssMetaData<? extends Styleable,?>> getClassCssMetaData()
CssMetaData, связанное с этим классом, что может включать CssMetaData его родительских классов.- Возвращает:
CssMetaData- С:
- JavaFX 8.0
getControlCssMetaData
public List<CssMetaData<? extends Styleable,?>> getControlCssMetaData()
- Переопределяет:
-
getControlCssMetaDataв классеControl - Возвращает:
- неизменяемый список CSS-стилизуемых свойств элемента управления
- С:
- JavaFX 8.0
© 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.
CONSTRAINED_RESIZE_POLICY_FLEX_LAST_COLUMNвместо этого.