Класс 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, в пакет java.beans добавлена поддержка долгосрочного хранения всех JavaBeans. См. 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 |
Возвращает массив всех объектов, зарегистрированных в данный момент как FooListeners в этом AbstractTableModel. |
TableModelListener[] |
getTableModelListeners() |
Возвращает массив всех слушателей модели таблицы, зарегистрированных в этой модели. |
boolean |
isCellEditable |
Возвращает false. |
void |
removeTableModelListener |
Удаляет слушателя из списка, который получает уведомления при каждом изменении модели данных. |
void |
setValueAt |
Эта пустая реализация предоставлена для того, чтобы пользователям не приходилось реализовывать этот метод, если их модель данных не допускает редактирования. |
Методы, объявленные в классе Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Методы, объявленные в интерфейсе 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()
- Возвращает:
- всех
TableModelListeners этой модели или пустой массив, если в данный момент не зарегистрировано ни одного слушателя модели таблицы - Начиная с версии:
- 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)
FooListeners в этом AbstractTableModel. FooListeners регистрируются с помощью метода addFooListener. В качестве аргумента listenerType можно указать литерал класса, например FooListener.class. Например, можно запросить у модели m список ее слушателей модели таблицы с помощью следующего кода:
TableModelListener[] tmls = (TableModelListener[])(m.getListeners(TableModelListener.class));Если таких слушателей нет, этот метод возвращает пустой массив.
- Параметры типа:
T— тип слушателя- Параметры:
-
listenerType— тип запрашиваемых слушателей - Возвращает:
- массив всех объектов, зарегистрированных в качестве
FooListeners в этом компоненте, или пустой массив, если такие слушатели не добавлены - Вызывает исключение:
-
ClassCastException— еслиlistenerTypeне указывает класс или интерфейс, реализующийjava.util.EventListener - Начиная с версии:
- 1.3
- См. также:
© 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://docs.oracle.com/en/java/javase/25/docs/api/java.desktop/javax/swing/table/AbstractTableModel.html