Класс AbstractTableModel
- java.lang.Object
-
- javax.swing.table.AbstractTableModel
- Все реализованные интерфейсы:
-
Serializable,TableModel
- Прямые известные подклассы:
DefaultTableModel
public abstract class AbstractTableModel extends Object implements TableModel, Serializable
Этот абстрактный класс предоставляет стандартные реализации для большинства методов в интерфейсе TableModel. Он управляет слушателями и предоставляет удобные методы для создания уведомлений и их отправки слушателям. Чтобы создать конкретный 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- столбец, для которого запрашивается имя - Возвращает:
- строку, содержащую имя по умолчанию
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));Если таких слушателей нет, этот метод возвращает пустой массив.
- Типы параметров:
-
T- тип слушателя - Параметры:
-
listenerType- тип запрашиваемых слушателей - Возвращает:
- массив всех объектов, зарегистрированных в качестве
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.
https://docs.oracle.com/en/java/javase/11/docs/api/java.desktop/javax/swing/table/AbstractTableModel.html