Класс 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.
- См. также:
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
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() |
Возвращает Enumeration всех столбцов в модели. |
boolean |
getColumnSelectionAllowed() |
Возвращает true, если разрешен выбор столбцов, иначе false. |
<T extends EventListener> |
getListeners |
Возвращает массив всех объектов, зарегистрированных в качестве FooListener в этой модели. |
int |
getSelectedColumnCount() |
Возвращает количество выбранных столбцов. |
int[] |
getSelectedColumns() |
Возвращает массив выделенных столбцов. |
ListSelectionModel |
getSelectionModel() |
Возвращает ListSelectionModel для сохранения состояния выбора столбцов. |
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 не находится в списке столбцов таблицы. Вызывается метод tile для изменения размера заголовка и представления таблицы. Этот метод также публикует событие 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 не должна рассматриваться как координата в 2D-графическом пространстве. Вместо этого она должна рассматриваться как ширина от начала первого столбца в модели. Если индекс столбца для заданной координаты X в 2D-пространстве требуется, 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, используемую для сохранения состояния выбора столбцов.- Specified by:
-
getSelectionModelв интерфейсеTableColumnModel - Returns:
- объект, обеспечивающий состояние выбора столбцов. Или
null, если выделение строк не разрешено. - See Also:
setColumnSelectionAllowed
public void setColumnSelectionAllowed(boolean flag)
- Specified by:
-
setColumnSelectionAllowedin interfaceTableColumnModel - Parameters:
-
flag- true, если выделение столбцов разрешено, иначе false - See Also:
getColumnSelectionAllowed
public boolean getColumnSelectionAllowed()
- Specified by:
-
getColumnSelectionAllowedin interfaceTableColumnModel - Returns:
- свойство
columnSelectionAllowed - See Also:
getSelectedColumns
public int[] getSelectedColumns()
selectionModel равно null, возвращает пустой массив.- Specified by:
-
getSelectedColumnsin interfaceTableColumnModel - Returns:
- массив выделенных столбцов или пустой массив, если ничего не выделено или
selectionModelравноnull
getSelectedColumnCount
public int getSelectedColumnCount()
- Specified by:
-
getSelectedColumnCountin interfaceTableColumnModel - Returns:
- количество выделенных столбцов
addColumnModelListener
public void addColumnModelListener(TableColumnModelListener x)
- Specified by:
-
addColumnModelListenerin interfaceTableColumnModel - Parameters:
-
x- объектTableColumnModelListener
removeColumnModelListener
public void removeColumnModelListener(TableColumnModelListener x)
- Specified by:
-
removeColumnModelListenerin interfaceTableColumnModel - Parameters:
-
x- объектTableColumnModelListener
getColumnModelListeners
public TableColumnModelListener[] getColumnModelListeners()
- Returns:
- все слушатели модели столбцов этой модели таблицы по умолчанию или пустой массив, если слушателей модели столбцов нет
- Since:
- 1.4
- See Also:
fireColumnAdded
protected void fireColumnAdded(TableColumnModelEvent e)
- Parameters:
-
e- событие - See Also:
fireColumnRemoved
protected void fireColumnRemoved(TableColumnModelEvent e)
- Parameters:
-
e- событие - See Also:
fireColumnMoved
protected void fireColumnMoved(TableColumnModelEvent e)
- Parameters:
-
e- событие - See Also:
fireColumnSelectionChanged
protected void fireColumnSelectionChanged(ListSelectionEvent e)
- Parameters:
-
e- событие - See Also:
fireColumnMarginChanged
protected void fireColumnMarginChanged()
- See Also:
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:
propertyChange
public void propertyChange(PropertyChangeEvent evt)
- Specified by:
-
propertyChangein interfacePropertyChangeListener - Parameters:
-
evt-PropertyChangeEvent
valueChanged
public void valueChanged(ListSelectionEvent e)
ListSelectionListener, который пересылает ListSelectionEvents при изменении выделения столбцов.- Specified by:
-
valueChangedin interfaceListSelectionListener - 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