Класс AbstractTableModel
- Все реализуемые интерфейсы:
-
Serializable,TableModel
- Прямые известные подклассы:
DefaultTableModel
public abstract class AbstractTableModel extends Object implements TableModel, Serializable
TableModel. Он отвечает за управление слушателями и предоставляет некоторые удобства для генерации TableModelEvents и их отправки слушателям. Для создания конкретного TableModel в качестве подкласса AbstractTableModel необходимо только предоставить реализации для следующих трёх методов: public int getRowCount(); public int getColumnCount(); public Object getValueAt(int row, int column);
Предупреждение: Сериализованные объекты этого класса не будут совместимы с будущими версиями Swing. Текущая поддержка сериализации подходит для краткосрочного хранения или RMI между приложениями, использующими одну и ту же версию Swing. Начиная с версии 1.4, поддержка долгосрочного хранения всех JavaBeans добавлена в пакет java.beans. Обратитесь к XMLEncoder.
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
protected EventListenerList |
listenerList |
Список слушателей |
Краткое описание конструкторов
| Модификатор | Конструктор | Описание |
|---|---|---|
protected |
Конструктор для вызова подклассами. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
void |
addTableModelListener |
Добавляет слушателя в список, который уведомляется каждый раз при изменении модели данных. |
int |
findColumn |
Возвращает столбец по его имени. |
void |
fireTableCellUpdated |
Уведомляет всех слушателей, что значение ячейки в позиции [row, column] было обновлено. |
void |
fireTableChanged |
Передает заданное событие уведомления всем TableModelListeners, которые зарегистрировались в качестве слушателей для этой модели таблицы. |
void |
fireTableDataChanged() |
Уведомляет всех слушателей, что все значения ячеек в строках таблицы могли измениться. |
void |
fireTableRowsDeleted |
Уведомляет всех слушателей, что строки в диапазоне [firstRow, lastRow], включительно, были удалены. |
void |
fireTableRowsInserted |
Уведомляет всех слушателей, что строки в диапазоне [firstRow, lastRow], включительно, были вставлены. |
void |
fireTableRowsUpdated |
Уведомляет всех слушателей, что строки в диапазоне [firstRow, lastRow], включительно, были обновлены. |
void |
fireTableStructureChanged() |
Уведомляет всех слушателей, что структура таблицы изменилась. |
Class |
getColumnClass |
Возвращает Object.class независимо от columnIndex. |
String |
getColumnName |
Возвращает стандартное имя столбца, используя условности электронных таблиц: A, B, C, ... |
<T extends EventListener> |
getListeners |
Возвращает массив всех объектов, зарегистрированных в качестве FooListener для данной AbstractTableModel. |
TableModelListener[] |
getTableModelListeners() |
Возвращает массив всех слушателей модели таблицы, зарегистрированных в этой модели. |
boolean |
isCellEditable |
Возвращает false. |
void |
removeTableModelListener |
Удаляет слушателя из списка, который уведомляется каждый раз при изменении модели данных. |
void |
setValueAt |
Эта пустая реализация предоставляется для того, чтобы пользователям не приходилось реализовывать этот метод, если их модель данных не редактируема. |
Методы, объявленные в классе java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Методы, объявленные в интерфейсе javax.swing.table.TableModel
getColumnCount, getRowCount, getValueAt
Подробное описание полей
listenerList
protected EventListenerList listenerList
Подробное описание конструкторов
AbstractTableModel
protected AbstractTableModel()
Подробное описание методов
getColumnName
public String getColumnName(int column)
column не найдено, возвращает пустую строку.- Указано в:
-
getColumnNameв интерфейсеTableModel - Параметры:
-
column- запрашиваемый столбец - Возвращает:
- строку, содержащую стандартное имя
column
findColumn
public int findColumn(String columnName)
TableModel и не используется JTable.- Параметры:
-
columnName- строка, содержащая имя искомого столбца - Возвращает:
- столбец с
columnName, или -1, если не найден
getColumnClass
public Class<?> getColumnClass(int columnIndex)
Object.class независимо от columnIndex.- Указано в:
-
getColumnClassв интерфейсеTableModel - Параметры:
-
columnIndex- запрашиваемый столбец - Возвращает:
- Object.class
isCellEditable
public boolean isCellEditable(int rowIndex, int columnIndex)
- Указано в:
-
isCellEditableв интерфейсеTableModel - Параметры:
-
rowIndex- запрашиваемая строка -
columnIndex- запрашиваемый столбец - Возвращает:
- false
- См. также:
setValueAt
public void setValueAt(Object aValue, int rowIndex, int columnIndex)
- Указано в:
-
setValueAtв интерфейсеTableModel - Параметры:
-
aValue- значение для назначения ячейке -
rowIndex- строка ячейки -
columnIndex- столбец ячейки - См. также:
addTableModelListener
public void addTableModelListener(TableModelListener l)
- Указано в:
-
addTableModelListenerв интерфейсеTableModel - Параметры:
-
l- TableModelListener
removeTableModelListener
public void removeTableModelListener(TableModelListener l)
- Указано в:
-
removeTableModelListenerв интерфейсеTableModel - Параметры:
-
l- TableModelListener
getTableModelListeners
public TableModelListener[] getTableModelListeners()
- Возвращает:
- все слушатели
TableModelListenerэтой модели или пустой массив, если слушатели модели таблицы не зарегистрированы - С момента:
- 1.4
- См. также:
fireTableDataChanged
public void fireTableDataChanged()
JTable должен перерисовать таблицу с нуля. Структура таблицы (порядок столбцов) предполагается неизменной.- См. также:
fireTableStructureChanged
public void fireTableStructureChanged()
JTable получает это событие и его флаг autoCreateColumnsFromModel установлен, он отбрасывает все столбцы таблицы, которые у него были, и перераспределяет столбцы по умолчанию в порядке их появления в модели. Это эквивалентно вызову setModel(TableModel) для JTable.- См. также:
fireTableRowsInserted
public void fireTableRowsInserted(int firstRow, int lastRow)
[firstRow, lastRow], включительно, были вставлены строки.- Параметры:
-
firstRow- первая строка -
lastRow- последняя строка - См. также:
fireTableRowsUpdated
public void fireTableRowsUpdated(int firstRow, int lastRow)
[firstRow, lastRow], включительно, были обновлены.- Параметры:
-
firstRow- первая строка -
lastRow- последняя строка - См. также:
fireTableRowsDeleted
public void fireTableRowsDeleted(int firstRow, int lastRow)
[firstRow, lastRow], включительно, были удалены.- Параметры:
-
firstRow- первая строка -
lastRow- последняя строка - См. также:
fireTableCellUpdated
public void fireTableCellUpdated(int row, int column)
[row, column] было обновлено.- Параметры:
-
row- строка ячейки, которая была обновлена -
column- столбец ячейки, который был обновлен - См. также:
fireTableChanged
public void fireTableChanged(TableModelEvent e)
TableModelListeners, которые зарегистрировались в качестве слушателей для этой модели таблицы.- Параметры:
-
e- событие, которое нужно передать - См. также:
getListeners
public <T extends EventListener> T[] getListeners(Class<T> listenerType)
FooListener в этом AbstractTableModel. FooListener регистрируются с помощью метода addFooListener. Вы можете указать аргумент listenerType с помощью литерала класса, такого как FooListener.class. Например, вы можете запросить у модели m слушателей модели таблицы с помощью следующего кода:
TableModelListener[] tmls = (TableModelListener[])(m.getListeners(TableModelListener.class));Если такие слушатели не существуют, этот метод возвращает пустой массив.
- Type Parameters:
T- тип слушателя- Parameters:
-
listenerType- тип запрашиваемых слушателей - Returns:
- массив всех объектов, зарегистрированных как
FooListenerв этом компоненте, или пустой массив, если такие слушатели не были добавлены - Throws:
-
ClassCastException- еслиlistenerTypeне указывает класс или интерфейс, реализующийjava.util.EventListener - Since:
- 1.3
- See Also:
© 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/AbstractTableModel.html