Класс AbstractTableModel
- java.lang.Object
-
- javax.swing.table.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 Список слушателей |
Конструкторы
| Конструктор и описание |
|---|
AbstractTableModel() |
Методы
| Модификатор и тип | Метод и описание |
|---|---|
void |
addTableModelListener(TableModelListener l) Добавляет слушателя в список, который уведомляется каждый раз при изменении модели данных. |
int |
findColumn(String columnName) Возвращает столбец по его имени. |
void |
fireTableCellUpdated(int row,
int column) Уведомляет всех слушателей, что значение ячейки в позиции |
void |
fireTableChanged(TableModelEvent e) Пересылает заданное событие уведомления всем |
void |
fireTableDataChanged() Уведомляет всех слушателей, что все значения ячеек в строках таблицы могут быть изменены. |
void |
fireTableRowsDeleted(int firstRow,
int lastRow) Уведомляет всех слушателей, что строки в диапазоне |
void |
fireTableRowsInserted(int firstRow,
int lastRow) Уведомляет всех слушателей, что строки в диапазоне |
void |
fireTableRowsUpdated(int firstRow,
int lastRow) Уведомляет всех слушателей, что строки в диапазоне |
void |
fireTableStructureChanged() Уведомляет всех слушателей, что структура таблицы изменилась. |
Class<?> |
getColumnClass(int columnIndex) Возвращает |
String |
getColumnName(int column) Возвращает стандартное имя столбца, используя табличные соглашения: A, B, C, ... |
<T extends EventListener> |
getListeners(Class<T> listenerType) Возвращает массив всех объектов, которые в данный момент зарегистрированы как |
TableModelListener[] |
getTableModelListeners() Возвращает массив всех слушателей модели таблицы, зарегистрированных в этой модели. |
boolean |
isCellEditable(int rowIndex,
int columnIndex) Возвращает false. |
void |
removeTableModelListener(TableModelListener l) Удаляет слушателя из списка, который уведомляется каждый раз при изменении модели данных. |
void |
setValueAt(Object aValue,
int rowIndex,
int columnIndex) Эта пустая реализация предоставляется для того, чтобы пользователям не приходилось реализовывать этот метод, если их модель данных не является изменяемой. |
Методы, унаследованные от класса 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
public AbstractTableModel()
Методы
getColumnName
public String getColumnName(int column)
Возвращает имя столбца по умолчанию, используя табличные обозначения: A, B, C, ... Z, AA, AB и т. д. Если column не найден, возвращает пустую строку.
- Определено в:
-
getColumnNameв интерфейсеTableModel - Параметры:
-
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) Возвращает false. Это реализация по умолчанию для всех ячеек.
- Определено в:
-
isCellEditableв интерфейсеTableModel - Параметры:
-
rowIndex- строка, для которой запрашивается редактируемость -
columnIndex- столбец, для которого запрашивается редактируемость - Возвращает:
- false
- См. также:
TableModel.setValueAt(java.lang.Object, int, int)
setValueAt
public void setValueAt(Object aValue,
int rowIndex,
int columnIndex) Эта пустая реализация предоставлена для того, чтобы пользователям не нужно было реализовывать этот метод, если их модель данных не редактируется.
- Определено в:
-
setValueAtв интерфейсеTableModel - Параметры:
-
aValue- значение для назначения ячейке -
rowIndex- строка ячейки -
columnIndex- столбец ячейки - См. также:
-
TableModel.getValueAt(int, int),TableModel.isCellEditable(int, int)
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
- См. также:
-
addTableModelListener(javax.swing.event.TableModelListener),removeTableModelListener(javax.swing.event.TableModelListener)
fireTableDataChanged
public void fireTableDataChanged()
Уведомляет всех слушателей, что значения всех ячеек строк таблицы могут измениться. Количество строк также может измениться, и JTable должен перерисовать таблицу с нуля. Структура таблицы (то есть порядок столбцов) предполагается неизменной.
fireTableStructureChanged
public void fireTableStructureChanged()
Уведомляет всех слушателей о том, что структура таблицы изменилась. Количество столбцов в таблице, а также имена и типы новых столбцов могут отличаться от предыдущего состояния. Если JTable получает это событие и его флаг autoCreateColumnsFromModel установлен, он отбрасывает все столбцы таблицы, которые у него были, и перераспределяет столбцы по умолчанию в том порядке, в котором они появляются в модели. Это эквивалентно вызову setModel(TableModel) для JTable.
- См. также:
-
TableModelEvent,EventListenerList
fireTableRowsInserted
public void fireTableRowsInserted(int firstRow,
int lastRow) Уведомляет всех слушателей, что строки в диапазоне [firstRow, lastRow], включительно, были вставлены.
- Параметры:
-
firstRow- первая строка -
lastRow- последняя строка - См. также:
-
TableModelEvent,EventListenerList
fireTableRowsUpdated
public void fireTableRowsUpdated(int firstRow,
int lastRow) Уведомляет всех слушателей, что строки в диапазоне [firstRow, lastRow], включительно, были обновлены.
- Параметры:
-
firstRow- первая строка -
lastRow- последняя строка - См. также:
-
TableModelEvent,EventListenerList
fireTableRowsDeleted
public void fireTableRowsDeleted(int firstRow,
int lastRow) Уведомляет всех слушателей, что строки в диапазоне [firstRow, lastRow], включительно, были удалены.
- Параметры:
-
firstRow- первая строка -
lastRow- последняя строка - См. также:
-
TableModelEvent,EventListenerList
fireTableCellUpdated
public void fireTableCellUpdated(int row,
int column) Уведомляет всех слушателей о том, что значение ячейки по адресу [row, column] было обновлено.
- Параметры:
-
row- строка обновлённой ячейки -
column- столбец обновлённой ячейки - См. также:
-
TableModelEvent,EventListenerList
fireTableChanged
public void fireTableChanged(TableModelEvent e)
Пересылает данное событие уведомления всем TableModelListeners зарегистрированным в качестве слушателей для этой модели таблицы.
- Параметры:
-
e- событие для пересылки - См. также:
-
addTableModelListener(javax.swing.event.TableModelListener),TableModelEvent,EventListenerList
getListeners
public <T extends EventListener> T[] getListeners(Class<T> listenerType)
Возвращает массив всех объектов, в данный момент зарегистрированных в качестве FooListener на этом AbstractTableModel. FooListener регистрируются с помощью метода addFooListener.
Вы можете указать параметр listenerType с помощью литерала класса, например, FooListener.class. Например, вы можете запросить слушателей модели таблицы для модели таблицы следующим кодом:
TableModelListener[] tmls = (TableModelListener[])(m.getListeners(TableModelListener.class));Если таких слушателей нет, этот метод возвращает пустой массив.
- Параметры:
-
listenerType- тип запрашиваемых слушателей; этот параметр должен указать интерфейс, являющийся потомкомjava.util.EventListener - Возвращает:
- массив всех объектов, зарегистрированных в качестве
FooListenerна этом компоненте, или пустой массив, если такие слушатели не были добавлены - Исключения:
-
ClassCastException- еслиlistenerTypeне указывает класс или интерфейс, реализующийjava.util.EventListener - С:
- 1.3
- См. также:
getTableModelListeners()
© 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.