Класс 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, 2021, 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/17/docs/api/java.desktop/javax/swing/table/AbstractTableModel.html