Spec-Zone.ru › OpenJDK 25

Класс 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

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

Конструктор Описание
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

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

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

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

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 объектных значений.
Параметры:
rowCount — количество строк в таблице
columnCount — количество столбцов в таблице
См. также:
  • setValueAt(Object, int, int)

DefaultTableModel

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

DefaultTableModel

public DefaultTableModel(Object[] columnNames, int rowCount)
Создает DefaultTableModel с количеством столбцов, равным количеству элементов в columnNames, и rowCount null объектных значений. Имя каждого столбца берется из массива 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 Platform 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 — столбец, значение которого запрашивается
Возвращает:
значение Object в указанной ячейке
Вызывает:
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, 2025, 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.
https://docs.oracle.com/en/java/javase/25/docs/api/java.desktop/javax/swing/table/DefaultTableModel.html

Spec-Zone.ru

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