Класс DefaultTableColumnModel
- Все реализованные интерфейсы:
-
PropertyChangeListener,Serializable,EventListener,ListSelectionListener,TableColumnModel
public class DefaultTableColumnModel extends Object implements TableColumnModel, PropertyChangeListener, ListSelectionListener, Serializable
Предупреждение: Сериализованные объекты этого класса не будут совместимы с будущими версиями Swing. Текущая поддержка сериализации подходит для краткосрочного хранения или RMI между приложениями, использующими одну и ту же версию Swing. С версии 1.4 добавлена поддержка долгосрочного хранения всех JavaBeans в пакете java.beans. См. XMLEncoder.
- См. также:
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
protected ChangeEvent |
changeEvent |
Событие изменения (требуется только одно) |
protected int |
columnMargin |
Поля ширины между столбцами |
protected boolean |
columnSelectionAllowed |
Разрешение выбора столбцов в этой модели столбцов |
protected EventListenerList |
listenerList |
Список слушателей TableColumnModelListener |
protected ListSelectionModel |
selectionModel |
Модель для отслеживания выбора столбцов |
protected Vector |
tableColumns |
Массив объектов TableColumn в этой модели |
protected int |
totalColumnWidth |
Локальный кэш совокупной ширины всех столбцов |
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
DefaultTableColumnModel() |
Создает модель табличных столбцов по умолчанию. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
void |
addColumn |
Добавляет aColumn в конец массива tableColumns. |
void |
addColumnModelListener |
Добавляет слушателя событий модели столбцов таблицы. |
protected ListSelectionModel |
createSelectionModel() |
Создает новую модель выбора списка по умолчанию. |
protected void |
fireColumnAdded |
Уведомляет всех слушателей, которые зарегистрировали интерес к уведомлению об этом типе событий. |
protected void |
fireColumnMarginChanged() |
Уведомляет всех слушателей, которые зарегистрировали интерес к уведомлению об этом типе событий. |
protected void |
fireColumnMoved |
Уведомляет всех слушателей, которые зарегистрировали интерес к уведомлению об этом типе событий. |
protected void |
fireColumnRemoved |
Уведомляет всех слушателей, которые зарегистрировали интерес к уведомлению об этом типе событий. |
protected void |
fireColumnSelectionChanged |
Уведомляет всех слушателей, которые зарегистрировали интерес к уведомлению об этом типе событий. |
TableColumn |
getColumn |
Возвращает объект TableColumn для столбца по индексу columnIndex. |
int |
getColumnCount() |
Возвращает количество столбцов в массиве tableColumns. |
int |
getColumnIndex |
Возвращает индекс первого столбца в массиве tableColumns, идентификатор которого равен identifier, при сравнении с помощью equals. |
int |
getColumnIndexAtX |
Возвращает индекс столбца по позиции x, или -1, если такой столбец отсутствует. |
int |
getColumnMargin() |
Возвращает ширину отступа для TableColumn. |
TableColumnModelListener[] |
getColumnModelListeners() |
Возвращает массив всех зарегистрированных слушателей событий модели столбцов. |
Enumeration |
getColumns() |
Возвращает массив всех столбцов в модели. |
boolean |
getColumnSelectionAllowed() |
Возвращает true, если разрешен выбор столбцов, иначе false. |
<T extends EventListener> |
getListeners |
Возвращает массив всех объектов, зарегистрированных как FooListener в этой модели. |
int |
getSelectedColumnCount() |
Возвращает количество выбранных столбцов. |
int[] |
getSelectedColumns() |
Возвращает массив выбранных столбцов. |
ListSelectionModel |
getSelectionModel() |
Возвращает модель выбора, используемую для сохранения состояния выбора столбцов. |
int |
getTotalColumnWidth() |
Возвращает общую ширину всех столбцов. |
void |
moveColumn |
Перемещает столбец и заголовок по индексу columnIndex на позицию newIndex. |
void |
propertyChange |
Метод обработки изменений слушателя изменения свойства. |
protected void |
recalcWidthCache() |
Пересчитывает общую ширину всех столбцов. |
void |
removeColumn |
Удаляет column из массива tableColumns. |
void |
removeColumnModelListener |
Удаляет слушателя событий модели столбцов таблицы. |
void |
setColumnMargin |
Устанавливает отступ столбца в newMargin. |
void |
setColumnSelectionAllowed |
Устанавливает, разрешен ли выбор столбцов. |
void |
setSelectionModel |
Устанавливает модель выбора для этой TableColumnModel в newModel и регистрируется для получения уведомлений от новой модели выбора. |
void |
valueChanged |
ListSelectionListener, которая перенаправляет ListSelectionEvents при изменении выбора столбцов. |
Подробное описание полей
tableColumns
protected Vector<TableColumn> tableColumns
selectionModel
protected ListSelectionModel selectionModel
columnMargin
protected int columnMargin
listenerList
protected EventListenerList listenerList
changeEvent
protected transient ChangeEvent changeEvent
columnSelectionAllowed
protected boolean columnSelectionAllowed
totalColumnWidth
protected int totalColumnWidth
Подробное описание конструкторов
DefaultTableColumnModel
public DefaultTableColumnModel()
Подробное описание методов
addColumn
public void addColumn(TableColumn aColumn)
aColumn в конец массива tableColumns. Этот метод также публикует событие columnAdded для своих слушателей.- Specified by:
-
addColumnв интерфейсеTableColumnModel - Parameters:
-
aColumn- добавляемыйTableColumn - Throws:
-
IllegalArgumentException- еслиaColumnявляетсяnull - See Also:
removeColumn
public void removeColumn(TableColumn column)
column из массива tableColumns. Этот метод ничего не делает, если column не находится в списке столбцов таблицы. Вызывается для изменения размеров заголовка и таблицы. Этот метод также публикует событие columnRemoved для своих слушателей.- Specified by:
-
removeColumnв интерфейсеTableColumnModel - Parameters:
-
column- удаляемыйTableColumn - See Also:
moveColumn
public void moveColumn(int columnIndex, int newIndex)
columnIndex в newIndex. Предыдущий столбец по индексу columnIndex теперь будет по индексу newIndex. Столбец, который раньше был на позиции newIndex, смещается влево или вправо для освобождения места. Этот метод ничего не сделает, если columnIndex равно newIndex. Этот метод также публикует событие columnMoved для своих слушателей.- Specified by:
-
moveColumnв интерфейсеTableColumnModel - Parameters:
-
columnIndex- индекс перемещаемого столбца -
newIndex- новый индекс столбца - Throws:
-
IllegalArgumentException- еслиcolumnилиnewIndexнаходятся вне допустимого диапазона
setColumnMargin
public void setColumnMargin(int newMargin)
newMargin. Этот метод также публикует событие columnMarginChanged для своих слушателей.- Specified by:
-
setColumnMarginв интерфейсеTableColumnModel - Parameters:
-
newMargin- новая ширина полей в пикселях - See Also:
getColumnCount
public int getColumnCount()
tableColumns.- Specified by:
-
getColumnCountв интерфейсеTableColumnModel - Returns:
- количество столбцов в массиве
tableColumns - See Also:
getColumns
public Enumeration<TableColumn> getColumns()
- Specified by:
-
getColumnsв интерфейсеTableColumnModel - Returns:
- список столбцов в модели
getColumnIndex
public int getColumnIndex(Object identifier)
tableColumns, идентификатор которого равен identifier, сравнивая их с помощью equals.- Specified by:
-
getColumnIndexв интерфейсеTableColumnModel - Parameters:
-
identifier- объект идентификатора - Returns:
- индекс первого столбца в массиве
tableColumns, идентификатор которого равенidentifier - Throws:
-
IllegalArgumentException- еслиidentifierявляетсяnull, или если столбец с даннымTableColumnне найден - See Also:
getColumn
public TableColumn getColumn(int columnIndex)
TableColumn для столбца по индексу columnIndex.- Specified by:
-
getColumnв интерфейсеTableColumnModel - Parameters:
-
columnIndex- индекс нужного столбца - Returns:
- объект
TableColumnдля столбца по индексуcolumnIndex - Throws:
-
ArrayIndexOutOfBoundsException- еслиcolumnIndexнаходится за пределами диапазона: (columnIndex < 0 || columnIndex >= getColumnCount())
getColumnMargin
public int getColumnMargin()
TableColumn. По умолчанию columnMargin равно 1.- Specified by:
-
getColumnMarginв интерфейсеTableColumnModel - Returns:
- максимальную ширину для
TableColumn - See Also:
getColumnIndexAtX
public int getColumnIndexAtX(int x)
x, или -1, если ни один столбец не охватывает эту точку. В соответствии с архитектурой разделимой модели Swing, TableColumnModel не знает, как на самом деле отображаются столбцы таблицы. Визуальное представление столбцов является обязанностью объекта представления/контроллера, использующего эту модель (обычно JTable). Представление/контроллер не обязательно должен отображать столбцы последовательно слева направо. Например, столбцы могут отображаться справа налево для поддержки предпочтений локали или некоторые столбцы могут быть скрыты по запросу пользователя. Поскольку модель не знает, как столбцы выложены на экране, заданное значение xPosition не следует рассматривать как координату в двумерном графическом пространстве. Вместо этого его следует рассматривать как ширину от начала первого столбца в модели. Если требуется индекс столбца для данной координаты X в двумерном пространстве, можно использовать JTable.columnAtPoint.- Specified by:
-
getColumnIndexAtXв интерфейсеTableColumnModel - Parameters:
-
x- горизонтальное положение - Returns:
- индекс столбца или -1, если столбец не найден
- See Also:
getTotalColumnWidth
public int getTotalColumnWidth()
- Specified by:
-
getTotalColumnWidthв интерфейсеTableColumnModel - Returns:
- свойство
totalColumnWidth
setSelectionModel
public void setSelectionModel(ListSelectionModel newModel)
TableColumnModel в newModel и регистрирует слушателей для уведомлений о событиях от новой модели выбора. Если newModel равно null, выбрасывается исключение.- Specified by:
-
setSelectionModelв интерфейсеTableColumnModel - Parameters:
-
newModel- новая модель выбора - Throws:
-
IllegalArgumentException- еслиnewModelравноnull - See Also:
getSelectionModel
public ListSelectionModel getSelectionModel()
ListSelectionModel, используемый для поддержания состояния выбора столбцов.- Определено в:
-
getSelectionModelв интерфейсеTableColumnModel - Возвращает:
- объект, предоставляющий состояние выбора столбцов. Или
null, если выбор строк запрещен. - См. также:
setColumnSelectionAllowed
public void setColumnSelectionAllowed(boolean flag)
- Определено в:
-
setColumnSelectionAllowedв интерфейсеTableColumnModel - Параметры:
-
flag- true, если выбор столбцов разрешен, false - в противном случае - См. также:
getColumnSelectionAllowed
public boolean getColumnSelectionAllowed()
- Определено в:
-
getColumnSelectionAllowedв интерфейсеTableColumnModel - Возвращает:
- свойство
columnSelectionAllowed - См. также:
getSelectedColumns
public int[] getSelectedColumns()
selectionModel является null, возвращает пустой массив.- Определено в:
-
getSelectedColumnsв интерфейсеTableColumnModel - Возвращает:
- массив выбранных столбцов или пустой массив, если ничего не выбрано или
selectionModelявляетсяnull
getSelectedColumnCount
public int getSelectedColumnCount()
- Определено в:
-
getSelectedColumnCountв интерфейсеTableColumnModel - Возвращает:
- количество выбранных столбцов
addColumnModelListener
public void addColumnModelListener(TableColumnModelListener x)
- Определено в:
-
addColumnModelListenerв интерфейсеTableColumnModel - Параметры:
-
x- объектTableColumnModelListener
removeColumnModelListener
public void removeColumnModelListener(TableColumnModelListener x)
- Определено в:
-
removeColumnModelListenerв интерфейсеTableColumnModel - Параметры:
-
x- объектTableColumnModelListener
getColumnModelListeners
public TableColumnModelListener[] getColumnModelListeners()
- Возвращает:
- всех слушателей модели столбцов этой модели, или пустой массив, если слушатели не зарегистрированы
- Since:
- 1.4
- См. также:
fireColumnAdded
protected void fireColumnAdded(TableColumnModelEvent e)
- Параметры:
-
e- полученное событие - См. также:
fireColumnRemoved
protected void fireColumnRemoved(TableColumnModelEvent e)
- Параметры:
-
e- полученное событие - См. также:
fireColumnMoved
protected void fireColumnMoved(TableColumnModelEvent e)
- Параметры:
-
e- полученное событие - См. также:
fireColumnSelectionChanged
protected void fireColumnSelectionChanged(ListSelectionEvent e)
- Параметры:
-
e- полученное событие - См. также:
fireColumnMarginChanged
protected void fireColumnMarginChanged()
- См. также:
getListeners
public <T extends EventListener> T[] getListeners(Class<T> listenerType)
addFooListener. Вы можете указать аргумент listenerType с помощью литерала класса, например, FooListener.class. Например, вы можете запросить слушателей модели столбцов для DefaultTableColumnModel m с помощью следующего кода:
ColumnModelListener[] cmls = (ColumnModelListener[])(m.getListeners(ColumnModelListener.class));Если такие слушатели не существуют, этот метод возвращает пустой массив.
- Type Parameters:
T- тип слушателя- Параметры:
-
listenerType- тип запрашиваемых слушателей - Возвращает:
- массив всех объектов, зарегистрированных в качестве слушателей данной модели, или пустой массив, если такие слушатели не добавлены
- Исключение:
-
ClassCastException- еслиlistenerTypeне указывает класс или интерфейс, реализующийjava.util.EventListener - Since:
- 1.3
- См. также:
propertyChange
public void propertyChange(PropertyChangeEvent evt)
- Определено в:
-
propertyChangeв интерфейсеPropertyChangeListener - Параметры:
-
evt-PropertyChangeEvent
valueChanged
public void valueChanged(ListSelectionEvent e)
- Определено в:
-
valueChangedв интерфейсеListSelectionListener - Параметры:
-
e- событие изменения
createSelectionModel
protected ListSelectionModel createSelectionModel()
- Возвращает:
- новосозданную модель выбора списка по умолчанию.
recalcWidthCache
protected void recalcWidthCache()
totalColumnWidth.
© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://download.java.net/java/early_access/jdk24/docs/api/java.desktop/javax/swing/table/DefaultTableColumnModel.html