Класс 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()
- Возвращает:
- все слушатели модели таблицы этой модели или пустой массив, если слушатели модели таблицы не зарегистрированы
- С тех пор:
- 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, 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/AbstractTableModel.html