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);
Предупреждение: Сериализированные объекты этого class не будут совместимыми с будущими выпусками Swing. Текущая поддержка сериализации является подходящей для краткосрочного хранения или RMI между приложениями, выполняющими ту же самую версию Swing. С 1.4, поддержка длительного хранения всего JavaBeansTM была добавлена к java.beans
пакет. Пожалуйста, см. XMLEncoder
.
Модификатор и Тип | Поле и Описание |
---|---|
protected EventListenerList |
listenerList
Список слушателей
|
Конструктор и Описание |
---|
AbstractTableModel() |
Модификатор и Тип | Метод и Описание |
---|---|
void |
addTableModelListener(TableModelListener l)
Добавляет слушатель списка, это уведомило каждый раз, что изменение к модели данных происходит.
|
int |
findColumn(String columnName)
Возвращает столбец, данный его имя.
|
void |
fireTableCellUpdated(int row, int column)
Уведомляет всех слушателей что значение ячейки в
[row, column] был обновлен. |
void |
fireTableChanged(TableModelEvent e)
Передает данное событие уведомления ко всем
TableModelListeners это зарегистрировало себя как слушатели для этой табличной модели. |
void |
fireTableDataChanged()
Уведомляет всех слушателей, что все значения ячеек в строках таблицы, возможно, изменились.
|
void |
fireTableRowsDeleted(int firstRow, int lastRow)
Уведомляет всех слушателей что строки в диапазоне
[firstRow, lastRow] , включительно, были удалены. |
void |
fireTableRowsInserted(int firstRow, int lastRow)
Уведомляет всех слушателей что строки в диапазоне
[firstRow, lastRow] , включительно, были вставлены. |
void |
fireTableRowsUpdated(int firstRow, int lastRow)
Уведомляет всех слушателей что строки в диапазоне
[firstRow, lastRow] , включительно, были обновлены. |
void |
fireTableStructureChanged()
Уведомляет всех слушателей, что структура таблицы изменилась.
|
Class<?> |
getColumnClass(int columnIndex)
Возвраты
Object.class независимо от columnIndex . |
Строка |
getColumnName(int column)
Возвращает имя по умолчанию для столбца, используя соглашения электронной таблицы: A, B, C...
|
<T extends EventListener> |
getListeners(Class<T> listenerType)
Возвращает массив всех объектов, в настоящий момент зарегистрированных как
FooListener s на это AbstractTableModel . |
TableModelListener[] |
getTableModelListeners()
Возвращает массив всех табличных слушателей модели, зарегистрированных на этой модели.
|
boolean |
isCellEditable(int rowIndex, int columnIndex)
Возвращает false.
|
void |
removeTableModelListener(TableModelListener l)
Удаляет слушателя из списка, это уведомило каждый раз, что изменение к модели данных происходит.
|
void |
setValueAt(Object aValue, int rowIndex, int columnIndex)
Эта пустая реализация обеспечивается так, пользователи не должны реализовать этот метод, если их модель данных не доступна для редактирования.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getColumnCount, getRowCount, getValueAt
protected EventListenerList listenerList
public String getColumnName(int column)
column
не может быть найден, возвращает пустую строку.getColumnName
в интерфейсе TableModel
column
- запрашиваемый столбецcolumn
public int findColumn(String columnName)
TableModel
взаимодействуйте через интерфейс и не используется JTable
.columnName
- строка, содержащая имя столбца, который будет расположенcolumnName
, или-1, если не найденныйpublic Class<?> getColumnClass(int columnIndex)
Object.class
независимо от columnIndex
.getColumnClass
в интерфейсе TableModel
columnIndex
- запрашиваемый столбецpublic boolean isCellEditable(int rowIndex, int columnIndex)
isCellEditable
в интерфейсе TableModel
rowIndex
- запрашиваемая строкаcolumnIndex
- запрашиваемый столбецTableModel.setValueAt(java.lang.Object, int, int)
public void setValueAt(Object aValue, int rowIndex, int columnIndex)
setValueAt
в интерфейсе TableModel
aValue
- значение, чтобы присвоиться к ячейкеrowIndex
- строка ячейкиcolumnIndex
- столбец ячейкиTableModel.getValueAt(int, int)
, TableModel.isCellEditable(int, int)
public void addTableModelListener(TableModelListener l)
addTableModelListener
в интерфейсе TableModel
l
- TableModelListenerpublic void removeTableModelListener(TableModelListener l)
removeTableModelListener
в интерфейсе TableModel
l
- TableModelListenerpublic TableModelListener[] getTableModelListeners()
TableModelListener
s или пустой массив, если никакие табличные слушатели модели в настоящий момент не регистрируютсяaddTableModelListener(javax.swing.event.TableModelListener)
, removeTableModelListener(javax.swing.event.TableModelListener)
public void fireTableDataChanged()
JTable
должен перерисовать таблицу с нуля. Структура таблицы (как в порядке столбцов), как предполагается, является тем же самым.public void fireTableStructureChanged()
JTable
получает это событие и autoCreateColumnsFromModel
флаг устанавливается, он отбрасывает любые столбцы таблицы, что он имел и перераспределяет столбцы значения по умолчанию в порядке, они появляются в модели. Это - то же самое как вызов setModel(TableModel)
на JTable
.TableModelEvent
, EventListenerList
public void fireTableRowsInserted(int firstRow, int lastRow)
[firstRow, lastRow]
, включительно, были вставлены.firstRow
- первая строкаlastRow
- последняя строкаTableModelEvent
, EventListenerList
public void fireTableRowsUpdated(int firstRow, int lastRow)
[firstRow, lastRow]
, включительно, были обновлены.firstRow
- первая строкаlastRow
- последняя строкаTableModelEvent
, EventListenerList
public void fireTableRowsDeleted(int firstRow, int lastRow)
[firstRow, lastRow]
, включительно, были удалены.firstRow
- первая строкаlastRow
- последняя строкаTableModelEvent
, EventListenerList
public void fireTableCellUpdated(int row, int column)
[row, column]
был обновлен.row
- строка ячейки, которая была обновленаcolumn
- столбец ячейки, которая была обновленаTableModelEvent
, EventListenerList
public void fireTableChanged(TableModelEvent e)
TableModelListeners
это зарегистрировало себя как слушатели для этой табличной модели.e
- событие, которое будет переданоaddTableModelListener(javax.swing.event.TableModelListener)
, TableModelEvent
, EventListenerList
public <T extends EventListener> T[] getListeners(Class<T> listenerType)
FooListener
s на это AbstractTableModel
. FooListener
s регистрируются, используя addFooListener
метод. Можно определить listenerType
параметр с литералом class, такой как FooListener.class
. Например, можно запросить модель m
для его табличных слушателей модели со следующим кодом:
TableModelListener[] tmls = (TableModelListener[])(m.getListeners(TableModelListener.class));Если никакие такие слушатели не существуют, этот метод возвращает пустой массив.
listenerType
- тип слушателей требуют; этот параметр должен определить интерфейс, который убывает от java.util.EventListener
FooListener
s на этом компоненте, или пустом массиве, если никакие такие слушатели не были добавленыClassCastException
- если listenerType
не определяет class или интерфейс, который реализует java.util.EventListener
getTableModelListeners()
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.
Проект сборка-b92