Класс 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) Добавляет |
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) Возвращает объект |
int |
getColumnCount() Возвращает количество столбцов в массиве |
int |
getColumnIndex(Object identifier) Возвращает индекс первого столбца в массиве |
int |
getColumnIndexAtX(int x) Возвращает индекс столбца, расположенного в позиции |
int |
getColumnMargin() Возвращает отступ ширины для |
TableColumnModelListener[] |
getColumnModelListeners() Возвращает массив всех слушателей модели столбцов, зарегистрированных в этой модели. |
Enumeration<TableColumn> |
getColumns() Возвращает |
boolean |
getColumnSelectionAllowed() Возвращает true, если разрешён выбор столбцов, иначе false. |
<T extends EventListener> |
getListeners(Class<T> listenerType) Возвращает массив всех объектов, в настоящее время зарегистрированных как |
int |
getSelectedColumnCount() Возвращает количество выделенных столбцов. |
int[] |
getSelectedColumns() Возвращает массив выделенных столбцов. |
ListSelectionModel |
getSelectionModel() Возвращает |
int |
getTotalColumnWidth() Возвращает общую суммарную ширину всех столбцов. |
void |
moveColumn(int columnIndex,
int newIndex) Перемещает столбец и заголовок в позиции |
void |
propertyChange(PropertyChangeEvent evt) Метод изменения слушателя изменения свойства. |
protected void |
recalcWidthCache() Пересчитывает общую суммарную ширину всех столбцов. |
void |
removeColumn(TableColumn column) Удаляет |
void |
removeColumnModelListener(TableColumnModelListener x) Удаляет слушателя событий модели столбцов таблицы. |
void |
setColumnMargin(int newMargin) Устанавливает отступ столбца в значение |
void |
setColumnSelectionAllowed(boolean flag) Устанавливает, разрешён ли выбор столбцов. |
void |
setSelectionModel(ListSelectionModel newModel) Устанавливает модель выбора для этой |
void |
valueChanged(ListSelectionEvent e) Слушатель, который перенаправляет |
Методы, унаследованные от класса 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
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's separable model, TableColumnModel не знает, как фактически отображаются столбцы таблицы. Визуальное представление столбцов является задачей объекта представления/контроллера, использующего эту модель (обычно JTable). Представление/контроллер не обязательно должен отображать столбцы последовательно слева направо. Например, столбцы могут отображаться справа налево для соответствия предпочтениям языка, или некоторые столбцы могут быть скрыты по запросу пользователя. Так как модель не знает, как столбцы расположены на экране, заданное значение xPosition не следует рассматривать как координату в двумерном графическом пространстве. Вместо этого его следует рассматривать как ширину от начала первого столбца в модели. Если требуется индекс столбца для заданной координаты X в двумерном пространстве, можно использовать 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в интерфейсеTableColumnModel - Parameters:
-
flag- true, если выделение столбцов разрешено, false - в противном случае - See Also:
TableColumnModel.getColumnSelectionAllowed()
getColumnSelectionAllowed
public boolean getColumnSelectionAllowed()
Возвращает true, если выделение столбцов разрешено, иначе false. Значение по умолчанию - false.
- Specified by:
-
getColumnSelectionAllowedв интерфейсеTableColumnModel - Returns:
- свойство
columnSelectionAllowed - See Also:
TableColumnModel.setColumnSelectionAllowed(boolean)
getSelectedColumns
public int[] getSelectedColumns()
Возвращает массив выбранных столбцов. Если selectionModel является null, возвращает пустой массив.
- Specified by:
-
getSelectedColumnsв интерфейсеTableColumnModel - Returns:
- массив выбранных столбцов или пустой массив, если ничего не выделено или
selectionModelявляетсяnull
getSelectedColumnCount
public int getSelectedColumnCount()
Возвращает количество выделенных столбцов.
- Specified by:
-
getSelectedColumnCountв интерфейсеTableColumnModel - Returns:
- количество выделенных столбцов
addColumnModelListener
public void addColumnModelListener(TableColumnModelListener x)
Добавляет слушателя для событий модели столбцов таблицы.
- Указано в:
-
addColumnModelListenerв интерфейсеTableColumnModel - Параметры:
-
x- объектTableColumnModelListener
removeColumnModelListener
public void removeColumnModelListener(TableColumnModelListener x)
Удаляет слушателя для событий модели столбцов таблицы.
- Указано в:
-
removeColumnModelListenerв интерфейсеTableColumnModel - Параметры:
-
x- объектTableColumnModelListener
getColumnModelListeners
public TableColumnModelListener[] getColumnModelListeners()
Возвращает массив всех слушателей модели столбцов, зарегистрированных в этой модели.
- Возвращает:
- все слушатели модели столбцов этой модели по умолчанию или пустой массив, если слушатели модели столбцов в настоящее время не зарегистрированы
- С:
- 1.4
- См. также:
-
addColumnModelListener(javax.swing.event.TableColumnModelListener),removeColumnModelListener(javax.swing.event.TableColumnModelListener)
fireColumnAdded
protected void fireColumnAdded(TableColumnModelEvent e)
Уведомляет всех слушателей, которые проявили интерес к уведомлениям об этом типе события. Экземпляр события создается лениво с использованием параметров, переданных в метод fire.
- Параметры:
-
e- полученное событие - См. также:
EventListenerList
fireColumnRemoved
protected void fireColumnRemoved(TableColumnModelEvent e)
Уведомляет всех слушателей, которые проявили интерес к уведомлениям об этом типе события. Экземпляр события создается лениво с использованием параметров, переданных в метод fire.
- Параметры:
-
e- полученное событие - См. также:
EventListenerList
fireColumnMoved
protected void fireColumnMoved(TableColumnModelEvent e)
Уведомляет всех слушателей, которые проявили интерес к уведомлениям об этом типе события. Экземпляр события создается лениво с использованием параметров, переданных в метод fire.
- Параметры:
-
e- полученное событие - См. также:
EventListenerList
fireColumnSelectionChanged
protected void fireColumnSelectionChanged(ListSelectionEvent e)
Уведомляет всех слушателей, которые проявили интерес к уведомлениям об этом типе события. Экземпляр события создается лениво с использованием параметров, переданных в метод fire.
- Параметры:
-
e- полученное событие - См. также:
EventListenerList
fireColumnMarginChanged
protected void fireColumnMarginChanged()
Уведомляет всех слушателей, которые проявили интерес к уведомлениям об этом типе события. Экземпляр события создается лениво с использованием параметров, переданных в метод fire.
- См. также:
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));Если такие слушатели не существуют, этот метод возвращает пустой массив.
- Параметры:
-
listenerType- тип запрашиваемых слушателей; этот параметр должен указывать интерфейс, который наследуется отjava.util.EventListener - Возвращает:
- массив всех объектов, зарегистрированных в качестве
FooListenerв этой модели, или пустой массив, если такие слушатели не были добавлены - Исключения:
-
ClassCastException- еслиlistenerTypeне указывает класс или интерфейс, реализующийjava.util.EventListener - С:
- 1.3
- См. также:
getColumnModelListeners()
propertyChange
public void propertyChange(PropertyChangeEvent evt)
Метод изменения слушателя изменений свойств. Используется для отслеживания изменений ширины столбца или предпочтительной ширины столбца.
- Указано в:
-
propertyChangeв интерфейсеPropertyChangeListener - Параметры:
-
evt-PropertyChangeEvent
valueChanged
public void valueChanged(ListSelectionEvent e)
ListSelectionListener, который пересылает ListSelectionEvents при изменении выбора столбца.
- Указано в:
-
valueChangedв интерфейсеListSelectionListener - Параметры:
-
e- событие изменения
createSelectionModel
protected ListSelectionModel createSelectionModel()
Создает новую модель выбора списка по умолчанию.
recalcWidthCache
protected void recalcWidthCache()
Пересчитывает общую совокупную ширину всех столбцов. Обновляет свойство totalColumnWidth.
© 1993, 2020, 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.