Spec-Zone.ru › OpenJDK 21

Класс DefaultTableColumnModel

java.lang.Object
javax.swing.table.DefaultTableColumnModel
Все реализуемые интерфейсы:
PropertyChangeListener, Serializable, EventListener, ListSelectionListener, TableColumnModel
public class DefaultTableColumnModel extends Object implements TableColumnModel, PropertyChangeListener, ListSelectionListener, Serializable
Стандартный обработчик столбцов для JTable.

Предупреждение: Сериализованные объекты этого класса не будут совместимы с будущими версиями Swing. Текущая поддержка сериализации подходит для кратковременного хранения или RMI между приложениями, использующими одну и ту же версию Swing. Начиная с версии 1.4, поддержка долгосрочного хранения всех JavaBeans была добавлена в пакет java.beans. См. XMLEncoder.

См. также:
  • JTable

Краткое описание полей

Модификатор и тип Поле Описание
protected ChangeEvent changeEvent
Событие изменения (нужен только один)
protected int columnMargin
Поля отступа ширины между столбцами
protected boolean columnSelectionAllowed
Разрешение выбора столбцов в этой модели столбцов
protected EventListenerList listenerList
Список TableColumnModelListener
protected ListSelectionModel selectionModel
Модель для отслеживания выделенных столбцов
protected Vector<TableColumn> tableColumns
Массив объектов TableColumn в этой модели
protected int totalColumnWidth
Локальный кэш суммарной ширины всех столбцов

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

Конструктор Описание
DefaultTableColumnModel()
Создает стандартную модель столбцов таблицы.

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

Модификатор и тип Метод Описание
void addColumn(TableColumn aColumn)
Добавляет aColumn в конец массива tableColumns.
void addColumnModelListener(TableColumnModelListener x)
Добавляет слушателя событий модели столбцов таблицы.
protected ListSelectionModel createSelectionModel()
Создает новую стандартную модель выделения списка.
protected void fireColumnAdded(TableColumnModelEvent e)
Уведомляет всех слушателей, которые проявили интерес к уведомлению об этом типе события.
protected void fireColumnMarginChanged()
Уведомляет всех слушателей, которые проявили интерес к уведомлению об этом типе события.
protected void fireColumnMoved(TableColumnModelEvent e)
Уведомляет всех слушателей, которые проявили интерес к уведомлению об этом типе события.
protected void fireColumnRemoved(TableColumnModelEvent e)
Уведомляет всех слушателей, которые проявили интерес к уведомлению об этом типе события.
protected void fireColumnSelectionChanged(ListSelectionEvent e)
Уведомляет всех слушателей, которые проявили интерес к уведомлению об этом типе события.
TableColumn getColumn(int columnIndex)
Возвращает объект TableColumn для столбца по индексу columnIndex.
int getColumnCount()
Возвращает количество столбцов в массиве tableColumns.
int getColumnIndex(Object identifier)
Возвращает индекс первого столбца в массиве tableColumns с идентификатором, равным identifier, при сравнении с помощью equals.
int getColumnIndexAtX(int x)
Возвращает индекс столбца, расположенного в позиции x, или -1, если такой столбец отсутствует.
int getColumnMargin()
Возвращает отступ ширины для TableColumn.
TableColumnModelListener[] getColumnModelListeners()
Возвращает массив всех слушателей модели столбцов, зарегистрированных в этой модели.
Enumeration<TableColumn> getColumns()
Возвращает Enumeration всех столбцов в модели.
boolean getColumnSelectionAllowed()
Возвращает true, если разрешен выбор столбцов, иначе false.
<T extends EventListener>
T[]
getListeners(Class<T> listenerType)
Возвращает массив всех объектов, зарегистрированных в качестве FooListener в этой модели.
int getSelectedColumnCount()
Возвращает количество выбранных столбцов.
int[] getSelectedColumns()
Возвращает массив выделенных столбцов.
ListSelectionModel getSelectionModel()
Возвращает ListSelectionModel для сохранения состояния выбора столбцов.
int getTotalColumnWidth()
Возвращает общую суммарную ширину всех столбцов.
void moveColumn(int columnIndex, int newIndex)
Перемещает столбец и заголовок по индексу columnIndex в позицию newIndex.
void propertyChange(PropertyChangeEvent evt)
Метод изменения слушателя изменений свойств.
protected void recalcWidthCache()
Пересчитывает общую суммарную ширину всех столбцов.
void removeColumn(TableColumn column)
Удаляет column из массива tableColumns.
void removeColumnModelListener(TableColumnModelListener x)
Удаляет слушателя событий модели столбцов таблицы.
void setColumnMargin(int newMargin)
Устанавливает отступ столбца в newMargin.
void setColumnSelectionAllowed(boolean flag)
Устанавливает, разрешен ли выбор столбцов.
void setSelectionModel(ListSelectionModel newModel)
Устанавливает модель выбора для этой TableColumnModel в newModel и регистрирует для уведомлений о слушателях от новой модели выбора.
void valueChanged(ListSelectionEvent e)
ListSelectionListener которая перенаправляет ListSelectionEvents при изменении выбора столбца.

Методы, унаследованные от класса java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Подробное описание полей

tableColumns

protected Vector<TableColumn> tableColumns
Массив объектов TableColumn в этой модели

selectionModel

protected ListSelectionModel selectionModel
Модель для отслеживания выделения столбцов

columnMargin

protected int columnMargin
Поля ширины между каждым столбцом

listenerList

protected EventListenerList listenerList
Список TableColumnModelListener

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(javax.swing.table.TableColumn)

removeColumn

public void removeColumn(TableColumn column)
Удаляет column из массива tableColumns. Этот метод ничего не сделает, если column не находится в списке столбцов таблицы. Вызывается метод tile для изменения размера заголовка и представления таблицы. Этот метод также публикует событие columnRemoved своим слушателям.
Specified by:
removeColumn в интерфейсе TableColumnModel
Parameters:
column - удаляемый TableColumn
See Also:
  • addColumn(javax.swing.table.TableColumn)

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:
  • getColumnMargin()
  • getTotalColumnWidth()

getColumnCount

public int getColumnCount()
Возвращает количество столбцов в массиве tableColumns.
Specified by:
getColumnCount в интерфейсе TableColumnModel
Returns:
количество столбцов в массиве tableColumns
See Also:
  • getColumns()

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(int)

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:
  • setColumnMargin(int)

getColumnIndexAtX

public int getColumnIndexAtX(int x)
Возвращает индекс столбца, расположенного в позиции x, или -1, если ни один столбец не охватывает эту точку. В соответствии с архитектурой раздельной модели Swing, TableColumnModel не знает, как на самом деле отображаются столбцы таблицы. Визуальное представление столбцов является обязанностью объекта представления/контроллера, использующего эту модель (обычно JTable). Представление/контроллер не обязательно должен отображать столбцы последовательно слева направо. Например, столбцы могут отображаться справа налево для адаптации к предпочтениям локали или некоторые столбцы могут быть скрыты по запросу пользователя. Поскольку модель не знает, как столбцы расположены на экране, указанная xPosition не должна рассматриваться как координата в 2D-графическом пространстве. Вместо этого она должна рассматриваться как ширина от начала первого столбца в модели. Если индекс столбца для заданной координаты X в 2D-пространстве требуется, JTable.columnAtPoint можно использовать вместо этого.
Specified by:
getColumnIndexAtX в интерфейсе TableColumnModel
Parameters:
x - горизонтальное расположение интересующей точки
Returns:
индекс столбца или -1, если столбец не найден
See Also:
  • JTable.columnAtPoint(java.awt.Point)

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()

getSelectionModel

public ListSelectionModel getSelectionModel()
Возвращает модель ListSelectionModel, используемую для сохранения состояния выбора столбцов.
Specified by:
getSelectionModel в интерфейсе TableColumnModel
Returns:
объект, обеспечивающий состояние выбора столбцов. Или null, если выделение строк не разрешено.
See Also:
  • setSelectionModel(javax.swing.ListSelectionModel)

setColumnSelectionAllowed

public void setColumnSelectionAllowed(boolean flag)
Устанавливает, разрешено ли выделение столбцов. По умолчанию false.
Specified by:
setColumnSelectionAllowed in interface TableColumnModel
Parameters:
flag - true, если выделение столбцов разрешено, иначе false
See Also:
  • TableColumnModel.getColumnSelectionAllowed()

getColumnSelectionAllowed

public boolean getColumnSelectionAllowed()
Возвращает true, если выделение столбцов разрешено, иначе false. По умолчанию false.
Specified by:
getColumnSelectionAllowed in interface TableColumnModel
Returns:
свойство columnSelectionAllowed
See Also:
  • TableColumnModel.setColumnSelectionAllowed(boolean)

getSelectedColumns

public int[] getSelectedColumns()
Возвращает массив выделенных столбцов. Если selectionModel равно null, возвращает пустой массив.
Specified by:
getSelectedColumns in interface TableColumnModel
Returns:
массив выделенных столбцов или пустой массив, если ничего не выделено или selectionModel равно null

getSelectedColumnCount

public int getSelectedColumnCount()
Возвращает количество выделенных столбцов.
Specified by:
getSelectedColumnCount in interface TableColumnModel
Returns:
количество выделенных столбцов

addColumnModelListener

public void addColumnModelListener(TableColumnModelListener x)
Добавляет слушателя событий модели столбцов таблицы.
Specified by:
addColumnModelListener in interface TableColumnModel
Parameters:
x - объект TableColumnModelListener

removeColumnModelListener

public void removeColumnModelListener(TableColumnModelListener x)
Удаляет слушателя событий модели столбцов таблицы.
Specified by:
removeColumnModelListener in interface TableColumnModel
Parameters:
x - объект TableColumnModelListener

getColumnModelListeners

public TableColumnModelListener[] getColumnModelListeners()
Возвращает массив всех слушателей модели столбцов, зарегистрированных в этой модели.
Returns:
все слушатели модели столбцов этой модели таблицы по умолчанию или пустой массив, если слушателей модели столбцов нет
Since:
1.4
See Also:
  • addColumnModelListener(javax.swing.event.TableColumnModelListener)
  • removeColumnModelListener(javax.swing.event.TableColumnModelListener)

fireColumnAdded

protected void fireColumnAdded(TableColumnModelEvent e)
Уведомляет всех слушателей, зарегистрированных на этот тип события. Экземпляр события создается ленивым образом с использованием параметров, переданных в метод fire.
Parameters:
e - событие
See Also:
  • EventListenerList

fireColumnRemoved

protected void fireColumnRemoved(TableColumnModelEvent e)
Уведомляет всех слушателей, зарегистрированных на этот тип события. Экземпляр события создается ленивым образом с использованием параметров, переданных в метод fire.
Parameters:
e - событие
See Also:
  • EventListenerList

fireColumnMoved

protected void fireColumnMoved(TableColumnModelEvent e)
Уведомляет всех слушателей, зарегистрированных на этот тип события. Экземпляр события создается ленивым образом с использованием параметров, переданных в метод fire.
Parameters:
e - событие
See Also:
  • EventListenerList

fireColumnSelectionChanged

protected void fireColumnSelectionChanged(ListSelectionEvent e)
Уведомляет всех слушателей, зарегистрированных на этот тип события. Экземпляр события создается ленивым образом с использованием параметров, переданных в метод fire.
Parameters:
e - событие
See Also:
  • EventListenerList

fireColumnMarginChanged

protected void fireColumnMarginChanged()
Уведомляет всех слушателей, зарегистрированных на этот тип события. Экземпляр события создается ленивым образом с использованием параметров, переданных в метод fire.
See Also:
  • EventListenerList

getListeners

public <T extends EventListener> T[] getListeners(Class<T> listenerType)
Возвращает массив всех объектов, в настоящее время зарегистрированных в качестве FooListener в этой модели. FooListener регистрируются с помощью метода addFooListener.

Вы можете указать аргумент listenerType с помощью литерала класса, например, FooListener.class. Например, вы можете запросить у DefaultTableColumnModel m слушателей модели столбцов следующим кодом:

ColumnModelListener[] cmls = (ColumnModelListener[])(m.getListeners(ColumnModelListener.class));
Если таких слушателей нет, этот метод возвращает пустой массив.
Type Parameters:
T - тип слушателя
Parameters:
listenerType - тип запрашиваемых слушателей
Returns:
массив всех объектов, зарегистрированных в качестве FooListener в этой модели, или пустой массив, если такие слушатели не были добавлены
Throws:
ClassCastException - если listenerType не указывает класс или интерфейс, реализующий java.util.EventListener
Since:
1.3
See Also:
  • getColumnModelListeners()

propertyChange

public void propertyChange(PropertyChangeEvent evt)
Метод изменения слушателя событий изменения свойств. Используется для отслеживания изменений ширины столбца или предпочтительной ширины столбца.
Specified by:
propertyChange in interface PropertyChangeListener
Parameters:
evt - PropertyChangeEvent

valueChanged

public void valueChanged(ListSelectionEvent e)
Слушатель ListSelectionListener, который пересылает ListSelectionEvents при изменении выделения столбцов.
Specified by:
valueChanged in interface ListSelectionListener
Parameters:
e - событие изменения

createSelectionModel

protected ListSelectionModel createSelectionModel()
Создает новую модель выделения списка по умолчанию.
Returns:
недавно созданная модель выделения списка по умолчанию.

recalcWidthCache

protected void recalcWidthCache()
Пересчитывает общую комбинированную ширину всех столбцов. Обновляет свойство totalColumnWidth.

© 1993, 2023, 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://docs.oracle.com/en/java/javase/21/docs/api/java.desktop/javax/swing/table/DefaultTableColumnModel.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API