Spec-Zone.ru › OpenJDK 27

Класс DefaultTableModel

java.lang.Object
javax.swing.table.AbstractTableModel
javax.swing.table.DefaultTableModel
Все реализуемые интерфейсы:
Serializable, TableModel
public class DefaultTableModel extends AbstractTableModel implements Serializable
Реализация TableModel, использующая Vector из Vectors для хранения объектов значений ячеек.

Предупреждение: DefaultTableModel возвращает класс столбца Object. При использовании DefaultTableModel с TableRowSorter это приведет к широкому использованию toString, что для типов данных, не являющихся String, требует значительных затрат. При использовании DefaultTableModel с TableRowSorter настоятельно рекомендуется переопределить getColumnClass, чтобы он возвращал соответствующий тип.

Предупреждение: Сериализованные объекты этого класса не будут совместимы с будущими выпусками Swing. Текущая поддержка сериализации подходит для краткосрочного хранения или RMI между приложениями, работающими с одной и той же версией Swing. Начиная с версии 1.4 в пакет java.beans добавлена поддержка долгосрочного хранения всех JavaBeans. См. XMLEncoder.

См. также:
  • TableModel
  • getDataVector()

Краткое описание полей

Модификатор и тип Поле Описание
protected Vector columnIdentifiers
Vector идентификаторов столбцов.
protected Vector<Vector> dataVector
Vector Vectors Object значений.

Поля, объявленные в классе AbstractTableModel

listenerList
Модификатор и тип Поле Описание
protected EventListenerList listenerList
Список слушателей

Краткое описание конструкторов

Конструктор Описание
DefaultTableModel()
Создает модель DefaultTableModel по умолчанию — таблицу с нулевым количеством столбцов и строк.
DefaultTableModel(int rowCount, int columnCount)
Создает DefaultTableModel с rowCount и columnCount значений объектов null.
DefaultTableModel(Object[][] data, Object[] columnNames)
Создает DefaultTableModel и инициализирует таблицу, передавая data и columnNames методу setDataVector.
DefaultTableModel(Object[] columnNames, int rowCount)
Создает DefaultTableModel с количеством столбцов, равным числу элементов в columnNames, и rowCount значений объектов null.
DefaultTableModel(Vector<?> columnNames, int rowCount)
Создает DefaultTableModel с количеством столбцов, равным числу элементов в columnNames, и rowCount значений объектов null.
DefaultTableModel(Vector<? extends Vector> data, Vector<?> columnNames)
Создает DefaultTableModel и инициализирует таблицу, передавая data и columnNames методу setDataVector.

Краткое описание методов

Модификатор и тип Метод Описание
void addColumn(Object columnName)
Добавляет столбец в модель.
void addColumn(Object columnName, Object[] columnData)
Добавляет столбец в модель.
void addColumn(Object columnName, Vector<?> columnData)
Добавляет столбец в модель.
void addRow(Object[] rowData)
Добавляет строку в конец модели.
void addRow(Vector<?> rowData)
Добавляет строку в конец модели.
protected static Vector<Object> convertToVector(Object[] anArray)
Возвращает вектор, содержащий те же объекты, что и массив.
protected static Vector<Vector<Object>> convertToVector(Object[][] anArray)
Возвращает вектор векторов, содержащий те же объекты, что и массив.
int getColumnCount()
Возвращает количество столбцов в этой таблице данных.
String getColumnName(int column)
Возвращает имя столбца.
Vector<Vector> getDataVector()
Возвращает Vector Vectors, содержащий значения данных таблицы.
int getRowCount()
Возвращает количество строк в этой таблице данных.
Object getValueAt(int row, int column)
Возвращает значение атрибута ячейки в позиции row и column.
void insertRow(int row, Object[] rowData)
Вставляет строку в позицию row модели.
void insertRow(int row, Vector<?> rowData)
Вставляет строку в позицию row модели.
boolean isCellEditable(int row, int column)
Возвращает true независимо от значений параметров.
void moveRow(int start, int end, int to)
Перемещает одну или несколько строк из включительного диапазона от start до end в позицию to модели.
void newDataAvailable(TableModelEvent event)
Эквивалентен fireTableChanged.
void newRowsAdded(TableModelEvent e)
Обеспечивает правильное количество столбцов в новых строках.
void removeRow(int row)
Удаляет из модели строку в позиции row.
void rowsRemoved(TableModelEvent event)
Эквивалентен fireTableChanged.
void setColumnCount(int columnCount)
Устанавливает количество столбцов в модели.
void setColumnIdentifiers(Object[] newIdentifiers)
Заменяет идентификаторы столбцов в модели.
void setColumnIdentifiers(Vector<?> columnIdentifiers)
Заменяет идентификаторы столбцов в модели.
void setDataVector(Object[][] dataVector, Object[] columnIdentifiers)
Заменяет значение в переменной экземпляра dataVector значениями массива dataVector.
void setDataVector(Vector<? extends Vector> dataVector, Vector<?> columnIdentifiers)
Заменяет текущую переменную экземпляра dataVector новым Vector строк, dataVector.
void setNumRows(int rowCount)
Устарел начиная с платформы Java 2 версии 1.3.
void setRowCount(int rowCount)
Устанавливает количество строк в модели.
void setValueAt(Object aValue, int row, int column)
Устанавливает значение объекта для ячейки в позиции column и row.

Методы, объявленные в классе AbstractTableModel

addTableModelListener, findColumn, fireTableCellUpdated, fireTableChanged, fireTableDataChanged, fireTableRowsDeleted, fireTableRowsInserted, fireTableRowsUpdated, fireTableStructureChanged, getColumnClass, getListeners, getTableModelListeners, removeTableModelListener
Модификатор и тип Метод Описание
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.
<T extends EventListener>
T[]
getListeners(Class<T> listenerType)
Возвращает массив всех объектов, зарегистрированных в данный момент как FooListeners для этого AbstractTableModel.
TableModelListener[] getTableModelListeners()
Возвращает массив всех слушателей модели таблицы, зарегистрированных в этой модели.
void removeTableModelListener(TableModelListener l)
Удаляет слушателя из списка, который получает уведомления при каждом изменении модели данных.

Методы, объявленные в классе Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Модификатор и тип Метод Описание
protected Object clone()
Создает и возвращает копию этого объекта.
boolean equals(Object obj)
Показывает, равен ли другой объект этому объекту.
protected void finalize()
Устарело и подлежит удалению: этот элемент API может быть удален в будущей версии.
Финализация устарела и подлежит удалению в одном из будущих выпусков.
final Class<?> getClass()
Возвращает класс времени выполнения этого Object.
int hashCode()
Возвращает хеш-код этого объекта.
final void notify()
Пробуждает один поток, ожидающий на мониторе этого объекта.
final void notifyAll()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
String toString()
Возвращает строковое представление объекта.
final void wait()
Переводит текущий поток в состояние ожидания до его пробуждения, обычно посредством вызова уведомления или прерывания.
final void wait(long timeoutMillis)
Переводит текущий поток в состояние ожидания до его пробуждения, обычно посредством вызова уведомления или прерывания, либо до истечения заданного интервала реального времени.
final void wait(long timeoutMillis, int nanos)
Переводит текущий поток в состояние ожидания до его пробуждения, обычно посредством вызова уведомления или прерывания, либо до истечения заданного интервала реального времени.

Подробное описание полей

dataVector

protected Vector<Vector> dataVector
Vector Vectors Object значений.

columnIdentifiers

protected Vector columnIdentifiers
Vector идентификаторов столбцов.

Подробное описание конструкторов

DefaultTableModel

public DefaultTableModel()
Создаёт модель таблицы по умолчанию, DefaultTableModel, содержащую ноль столбцов и ноль строк.

DefaultTableModel

public DefaultTableModel(int rowCount, int columnCount)
Создаёт DefaultTableModel с rowCount и columnCount из null значений типа object.
Параметры:
rowCount — количество строк таблицы
columnCount — количество столбцов таблицы
См. также:
  • setValueAt(Object, int, int)

DefaultTableModel

public DefaultTableModel(Vector<?> columnNames, int rowCount)
Создаёт DefaultTableModel с количеством столбцов, равным количеству элементов в columnNames, и rowCount из null значений типа object. Имя каждого столбца берётся из вектора columnNames.
Параметры:
columnNames — vector с именами новых столбцов; если это null, модель не содержит столбцов
rowCount — количество строк таблицы
См. также:
  • setDataVector(Vector, Vector)
  • setValueAt(Object, int, int)

DefaultTableModel

public DefaultTableModel(Object[] columnNames, int rowCount)
Создаёт DefaultTableModel с количеством столбцов, равным количеству элементов в columnNames, и rowCount из null значений типа object. Имя каждого столбца берётся из массива columnNames.
Параметры:
columnNames — array с именами новых столбцов; если это null, модель не содержит столбцов
rowCount — количество строк таблицы
См. также:
  • setDataVector(Vector, Vector)
  • setValueAt(Object, int, int)

DefaultTableModel

public DefaultTableModel(Vector<? extends Vector> data, Vector<?> columnNames)
Создаёт DefaultTableModel и инициализирует таблицу, передавая data и columnNames методу setDataVector.
Параметры:
data — данные таблицы, Vector из Vectorов значений типа Object
columnNames — vector с именами новых столбцов
См. также:
  • getDataVector()
  • setDataVector(Vector, Vector)

DefaultTableModel

public DefaultTableModel(Object[][] data, Object[] columnNames)
Создаёт DefaultTableModel и инициализирует таблицу, передавая data и columnNames методу setDataVector. Первый индекс в массиве Object[][] — это индекс строки, а второй — индекс столбца.
Параметры:
data — данные таблицы
columnNames — имена столбцов
См. также:
  • getDataVector()
  • setDataVector(Vector, Vector)

Подробное описание методов

getDataVector

public Vector<Vector> getDataVector()
Возвращает Vector Vectors, содержащий значения данных таблицы. Каждый вектор во внешнем векторе представляет одну строку значений. Другими словами, чтобы получить значение ячейки в строке 1, столбце 5:

((Vector)getDataVector().elementAt(1)).elementAt(5);

Возвращает:
вектор векторов, содержащий значения данных таблицы
См. также:
  • newDataAvailable(TableModelEvent)
  • newRowsAdded(TableModelEvent)
  • setDataVector(Vector, Vector)

setDataVector

public void setDataVector(Vector<? extends Vector> dataVector, Vector<?> columnIdentifiers)
Заменяет текущую переменную экземпляра dataVector новым Vector строк, dataVector. Каждая строка представлена в dataVector как Vector значений Object. columnIdentifiers — имена новых столбцов. Первое имя в columnIdentifiers сопоставляется столбцу 0 в dataVector. Каждая строка в dataVector приводится в соответствие с количеством столбцов в columnIdentifiers: если Vector слишком длинный, он усекается, а если слишком короткий, добавляются значения null.

Обратите внимание: передача значения null для dataVector приводит к неопределённому поведению и, возможно, к исключению.

Параметры:
dataVector — новый вектор данных
columnIdentifiers — имена столбцов
См. также:
  • getDataVector()

setDataVector

public void setDataVector(Object[][] dataVector, Object[] columnIdentifiers)
Заменяет значение переменной экземпляра dataVector значениями массива dataVector. Первый индекс в массиве Object[][] — это индекс строки, а второй — индекс столбца. columnIdentifiers — имена новых столбцов.
Параметры:
dataVector — новый вектор данных
columnIdentifiers — имена столбцов
См. также:
  • setDataVector(Vector, Vector)

newDataAvailable

public void newDataAvailable(TableModelEvent event)
Эквивалентно fireTableChanged.
Параметры:
event — событие изменения

newRowsAdded

public void newRowsAdded(TableModelEvent e)
Проверяет, что в новых строках правильное количество столбцов. Для этого используется метод setSize в Vector, который усекает слишком длинные векторы и добавляет nullы, если векторы слишком короткие. Этот метод также отправляет всем слушателям уведомление tableChanged.
Параметры:
e — этот TableModelEvent описывает, где были добавлены строки. Если null, предполагается, что добавлены все строки
См. также:
  • getDataVector()

rowsRemoved

public void rowsRemoved(TableModelEvent event)
Эквивалентно fireTableChanged.
Параметры:
event — событие изменения

setNumRows

public void setNumRows(int rowCount)
Устарел начиная с платформы Java 2 v1.3. Вместо него используйте setRowCount.
Параметры:
rowCount — новое количество строк

setRowCount

public void setRowCount(int rowCount)
Задаёт количество строк в модели. Если новый размер больше текущего, в конец модели добавляются новые строки. Если новый размер меньше текущего, все строки с индексом rowCount и выше удаляются.
Параметры:
rowCount — количество строк в модели
Начиная с:
1.3
См. также:
  • setColumnCount(int)

addRow

public void addRow(Vector<?> rowData)
Добавляет строку в конец модели. Новая строка будет содержать значения null, если не указано rowData. Будет создано уведомление о добавлении строки.
Параметры:
rowData — необязательные данные добавляемой строки

addRow

public void addRow(Object[] rowData)
Добавляет строку в конец модели. Новая строка будет содержать значения null, если не указано rowData. Будет создано уведомление о добавлении строки.
Параметры:
rowData — необязательные данные добавляемой строки

insertRow

public void insertRow(int row, Vector<?> rowData)
Вставляет строку в row модели. Новая строка будет содержать значения null, если не указано rowData. Будет создано уведомление о добавлении строки.
Параметры:
row — индекс вставляемой строки
rowData — необязательные данные добавляемой строки
Исключения:
ArrayIndexOutOfBoundsException — если индекс строки недопустим

insertRow

public void insertRow(int row, Object[] rowData)
Вставляет строку в row модели. Новая строка будет содержать значения null, если не указано rowData. Будет создано уведомление о добавлении строки.
Параметры:
row — индекс вставляемой строки
rowData — необязательные данные добавляемой строки
Исключения:
ArrayIndexOutOfBoundsException — если индекс строки недопустим

moveRow

public void moveRow(int start, int end, int to)
Перемещает одну или несколько строк из включительного диапазона от start до end в позицию to модели. После перемещения строка, находившаяся по индексу start, будет находиться по индексу to. Этот метод отправляет всем слушателям уведомление tableChanged.
 Examples of moves:

 1. moveRow(1,3,5);
         a|B|C|D|e|f|g|h|i|j|k   - before
         a|e|f|g|h|B|C|D|i|j|k   - after

 2. moveRow(6,7,1);
         a|b|c|d|e|f|G|H|i|j|k   - before
         a|G|H|b|c|d|e|f|i|j|k   - after
 
Параметры:
start — индекс первой перемещаемой строки
end — индекс последней перемещаемой строки
to — позиция, в которую перемещаются строки
Исключения:
ArrayIndexOutOfBoundsException — если какой-либо из элементов будет перемещён за пределы таблицы

removeRow

public void removeRow(int row)
Удаляет из модели строку с индексом row. Всем слушателям отправляется уведомление об удалении строки.
Параметры:
row — индекс удаляемой строки
Исключения:
ArrayIndexOutOfBoundsException — если индекс строки недопустим

setColumnIdentifiers

public void setColumnIdentifiers(Vector<?> columnIdentifiers)
Заменяет идентификаторы столбцов в модели. Если количество newIdentifier больше текущего количества столбцов, в конец каждой строки модели добавляются новые столбцы. Если количество newIdentifier меньше текущего количества столбцов, все дополнительные столбцы в конце строки удаляются.
Параметры:
columnIdentifiers — вектор идентификаторов столбцов. Если null, модель устанавливается без столбцов
См. также:
  • setNumRows(int)

setColumnIdentifiers

public void setColumnIdentifiers(Object[] newIdentifiers)
Заменяет идентификаторы столбцов в модели. Если количество newIdentifier больше текущего количества столбцов, в конец каждой строки модели добавляются новые столбцы. Если количество newIdentifier меньше текущего количества столбцов, все дополнительные столбцы в конце строки удаляются.
Параметры:
newIdentifiers — массив идентификаторов столбцов. Если null, модель устанавливается без столбцов
См. также:
  • setNumRows(int)

setColumnCount

public void setColumnCount(int columnCount)
Задаёт количество столбцов в модели. Если новый размер больше текущего, в конец модели добавляются новые столбцы со значениями ячеек null. Если новый размер меньше текущего, все столбцы с индексом columnCount и выше удаляются.
Параметры:
columnCount — новое количество столбцов в модели
Начиная с:
1.3
См. также:
  • setRowCount(int)

addColumn

public void addColumn(Object columnName)
Добавляет столбец в модель. Идентификатором нового столбца будет columnName, который может быть null. Этот метод отправляет всем слушателям уведомление tableChanged. Метод служит оболочкой для addColumn(Object, Vector), использующего null в качестве вектора данных.
Параметры:
columnName — идентификатор добавляемого столбца

addColumn

public void addColumn(Object columnName, Vector<?> columnData)
Добавляет столбец в модель. Идентификатором нового столбца будет columnName, который может быть null. columnData — необязательный вектор данных столбца. Если это null, столбец заполняется значениями null. В противном случае новые данные добавляются в модель: первый элемент помещается в строку 0 и так далее. Этот метод отправляет всем слушателям уведомление tableChanged.
Параметры:
columnName — идентификатор добавляемого столбца
columnData — необязательные данные добавляемого столбца

addColumn

public void addColumn(Object columnName, Object[] columnData)
Добавляет столбец в модель. Идентификатором нового столбца будет columnName. columnData — необязательный массив данных столбца. Если это null, столбец заполняется значениями null. В противном случае новые данные добавляются в модель: первый элемент помещается в строку 0 и так далее. Этот метод отправляет всем слушателям уведомление tableChanged.
Параметры:
columnName — идентификатор нового столбца
columnData — новые данные для добавления в столбец
См. также:
  • addColumn(Object, Vector)

getRowCount

public int getRowCount()
Возвращает количество строк в этой таблице данных.
Определён в:
getRowCount в интерфейсе TableModel
Возвращает:
количество строк в модели
См. также:
  • TableModel.getColumnCount()

getColumnCount

public int getColumnCount()
Возвращает количество столбцов в этой таблице данных.
Определён в:
getColumnCount в интерфейсе TableModel
Возвращает:
количество столбцов в модели
См. также:
  • TableModel.getRowCount()

getColumnName

public String getColumnName(int column)
Возвращает имя столбца.
Определён в:
getColumnName в интерфейсе TableModel
Переопределяет:
getColumnName в классе AbstractTableModel
Параметры:
column — запрашиваемый столбец
Возвращает:
имя этого столбца, полученное из строкового представления соответствующего элемента в columnIdentifiers. Если columnIdentifiers не содержит элемента с этим индексом, возвращается имя по умолчанию, предоставленное суперклассом.

isCellEditable

public boolean isCellEditable(int row, int column)
Возвращает true независимо от значений параметров.
Определён в:
isCellEditable в интерфейсе TableModel
Переопределяет:
isCellEditable в классе AbstractTableModel
Параметры:
row — строка, значение которой запрашивается
column — столбец, значение которого запрашивается
Возвращает:
true
См. также:
  • setValueAt(Object, int, int)

getValueAt

public Object getValueAt(int row, int column)
Возвращает значение атрибута ячейки в строке row и столбце column.
Определён в:
getValueAt в интерфейсе TableModel
Параметры:
row — строка, значение которой запрашивается
column — столбец, значение которого запрашивается
Возвращает:
объект-значение указанной ячейки
Исключения:
ArrayIndexOutOfBoundsException — если указана недопустимая строка или столбец

setValueAt

public void setValueAt(Object aValue, int row, int column)
Задаёт значение объекта для ячейки в строке column и столбце row. aValue — новое значение. Этот метод создаёт уведомление tableChanged.
Определён в:
setValueAt в интерфейсе TableModel
Переопределяет:
setValueAt в классе AbstractTableModel
Параметры:
aValue — новое значение; может быть null
row — строка, значение которой нужно изменить
column — столбец, значение которого нужно изменить
Исключения:
ArrayIndexOutOfBoundsException — если указана недопустимая строка или столбец
См. также:
  • TableModel.getValueAt(int, int)
  • TableModel.isCellEditable(int, int)

convertToVector

protected static Vector<Object> convertToVector(Object[] anArray)
Возвращает вектор, содержащий те же объекты, что и массив.
Параметры:
anArray — преобразуемый массив
Возвращает:
новый вектор; если anArray равен null, возвращает null

convertToVector

protected static Vector<Vector<Object>> convertToVector(Object[][] anArray)
Возвращает вектор векторов, содержащий те же объекты, что и массив.
Параметры:
anArray — преобразуемый двумерный массив
Возвращает:
новый вектор векторов; если anArray равен null, возвращает null

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, обзоры концепций, определения терминов, обходные решения и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её аффилированных лиц в США и других странах.
Авторское право © 1993, 2026, Oracle и/или её аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 1993, 2025, 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.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API