Класс 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.
- См. также:
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
protected Vector |
columnIdentifiers |
Vector идентификаторов столбцов. |
protected Vector |
dataVector |
Vector Vectors Object значений. |
Поля, объявленные в классе AbstractTableModel
listenerList
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
DefaultTableModel() |
Создаёт модель DefaultTableModel по умолчанию — таблицу без столбцов и строк. |
DefaultTableModel |
Создаёт DefaultTableModel с rowCount и columnCount значений объектов null. |
DefaultTableModel |
Создаёт DefaultTableModel и инициализирует таблицу, передавая data и columnNames методу setDataVector. |
DefaultTableModel |
Создаёт DefaultTableModel с числом столбцов, равным числу элементов в columnNames, и rowCount значений объектов null. |
DefaultTableModel |
Создаёт DefaultTableModel с числом столбцов, равным числу элементов в columnNames, и rowCount значений объектов null. |
DefaultTableModel |
Создаёт DefaultTableModel и инициализирует таблицу, передавая data и columnNames методу setDataVector. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
void |
addColumn |
Добавляет столбец в модель. |
void |
addColumn |
Добавляет столбец в модель. |
void |
addColumn |
Добавляет столбец в модель. |
void |
addRow |
Добавляет строку в конец модели. |
void |
addRow |
Добавляет строку в конец модели. |
protected static Vector |
convertToVector |
Возвращает вектор, содержащий те же объекты, что и массив. |
protected static Vector |
convertToVector |
Возвращает вектор векторов, содержащий те же объекты, что и массив. |
int |
getColumnCount() |
Возвращает число столбцов в этой таблице данных. |
String |
getColumnName |
Возвращает имя столбца. |
Vector |
getDataVector() |
Возвращает Vector Vectors, содержащий данные таблицы. |
int |
getRowCount() |
Возвращает число строк в этой таблице данных. |
Object |
getValueAt |
Возвращает значение атрибута ячейки с индексами строки row и столбца column. |
void |
insertRow |
Вставляет строку в позицию row модели. |
void |
insertRow |
Вставляет строку в позицию row модели. |
boolean |
isCellEditable |
Возвращает true независимо от значений параметров. |
void |
moveRow |
Перемещает одну или несколько строк из включительного диапазона от start до end в позицию to модели. |
void |
newDataAvailable |
Эквивалентно fireTableChanged. |
void |
newRowsAdded |
Проверяет, что новые строки содержат правильное число столбцов. |
void |
removeRow |
Удаляет из модели строку с индексом row. |
void |
rowsRemoved |
Эквивалентно fireTableChanged. |
void |
setColumnCount |
Задаёт число столбцов в модели. |
void |
setColumnIdentifiers |
Заменяет идентификаторы столбцов в модели. |
void |
setColumnIdentifiers |
Заменяет идентификаторы столбцов в модели. |
void |
setDataVector |
Заменяет значение переменной экземпляра dataVector значениями массива dataVector. |
void |
setDataVector |
Заменяет текущую переменную экземпляра dataVector новым Vector строк, dataVector. |
void |
setNumRows |
Устарел начиная с платформы Java 2 версии 1.3. |
void |
setRowCount |
Задаёт число строк в модели. |
void |
setValueAt |
Задаёт значение объекта для ячейки с индексами строки column и столбца row. |
Методы, объявленные в классе AbstractTableModel
addTableModelListener, findColumn, fireTableCellUpdated, fireTableChanged, fireTableDataChanged, fireTableRowsDeleted, fireTableRowsInserted, fireTableRowsUpdated, fireTableStructureChanged, getColumnClass, getListeners, getTableModelListeners, removeTableModelListener
Подробное описание полей
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— количество столбцов в таблице - См. также:
DefaultTableModel
public DefaultTableModel(Vector<?> columnNames, int rowCount)
DefaultTableModel с количеством столбцов, равным количеству элементов в columnNames, и rowCount null объектных значений. Имя каждого столбца берется из вектора columnNames.- Параметры:
-
columnNames—vector, содержащий имена новых столбцов; если он равенnull, модель не содержит столбцов -
rowCount— количество строк в таблице - См. также:
DefaultTableModel
public DefaultTableModel(Object[] columnNames, int rowCount)
DefaultTableModel с количеством столбцов, равным количеству элементов в columnNames, и rowCount null объектных значений. Имя каждого столбца берется из массива columnNames.- Параметры:
-
columnNames—array, содержащий имена новых столбцов; если он равенnull, модель не содержит столбцов -
rowCount— количество строк в таблице - См. также:
DefaultTableModel
public DefaultTableModel(Vector<? extends Vector> data, Vector<?> columnNames)
DefaultTableModel и инициализирует таблицу, передавая data и columnNames методу setDataVector.- Параметры:
-
data— данные таблицы,VectorизVectorObjectзначений -
columnNames—vector, содержащий имена новых столбцов - См. также:
DefaultTableModel
public DefaultTableModel(Object[][] data, Object[] columnNames)
DefaultTableModel и инициализирует таблицу, передавая data и columnNames методу setDataVector. Первый индекс в массиве Object[][] — это индекс строки, а второй — индекс столбца.- Параметры:
-
data— данные таблицы -
columnNames— имена столбцов - См. также:
Подробное описание методов
getDataVector
public Vector<Vector> getDataVector()
Vector из Vectors, содержащий значения данных таблицы. Каждый вектор во внешнем векторе представляет собой одну строку значений. Иными словами, чтобы получить значение ячейки в строке 1, столбце 5: ((Vector)getDataVector().elementAt(1)).elementAt(5);
- Возвращает:
- вектор векторов, содержащий значения данных таблицы
- См. также:
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— имена столбцов - См. также:
setDataVector
public void setDataVector(Object[][] dataVector, Object[] columnIdentifiers)
dataVector значениями массива dataVector. Первый индекс в массиве Object[][] — это индекс строки, а второй — индекс столбца. columnIdentifiers — это имена новых столбцов.- Параметры:
-
dataVector— новый вектор данных -
columnIdentifiers— имена столбцов - См. также:
newDataAvailable
public void newDataAvailable(TableModelEvent event)
fireTableChanged.- Параметры:
-
event— событие изменения
newRowsAdded
public void newRowsAdded(TableModelEvent e)
setSize в Vector, который усекает слишком длинные векторы и добавляет значения null, если они слишком короткие. Этот метод также отправляет всем слушателям уведомление tableChanged.- Параметры:
-
e— этотTableModelEventописывает, где были добавлены строки. Еслиnull, предполагается, что все строки были добавлены недавно - См. также:
rowsRemoved
public void rowsRemoved(TableModelEvent event)
fireTableChanged.- Параметры:
-
event— событие изменения
setNumRows
public void setNumRows(int rowCount)
setRowCount.- Параметры:
-
rowCount— новое количество строк
setRowCount
public void setRowCount(int rowCount)
rowCount и выше удаляются.- Параметры:
-
rowCount— количество строк в модели - Начиная с версии:
- 1.3
- См. также:
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, задает для модели нулевое количество столбцов - См. также:
setColumnIdentifiers
public void setColumnIdentifiers(Object[] newIdentifiers)
newIdentifier больше текущего количества столбцов, в конец каждой строки модели добавляются новые столбцы. Если количество newIdentifier меньше текущего количества столбцов, все лишние столбцы в конце строки удаляются.- Параметры:
-
newIdentifiers— массив идентификаторов столбцов. Еслиnull, задает для модели нулевое количество столбцов - См. также:
setColumnCount
public void setColumnCount(int columnCount)
null. Если новый размер меньше текущего, все столбцы с индексом columnCount и выше удаляются.- Параметры:
-
columnCount— новое количество столбцов в модели - Начиная с версии:
- 1.3
- См. также:
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— новые данные, добавляемые в столбец - См. также:
getRowCount
public int getRowCount()
- Определено в:
-
getRowCountв интерфейсеTableModel - Возвращает:
- количество строк в модели
- См. также:
getColumnCount
public int getColumnCount()
- Определено в:
-
getColumnCountв интерфейсеTableModel - Возвращает:
- количество столбцов в модели
- См. также:
getColumnName
public String getColumnName(int column)
- Определено в:
-
getColumnNameв интерфейсеTableModel - Переопределяет:
-
getColumnNameв классеAbstractTableModel - Параметры:
-
column— запрашиваемый столбец - Возвращает:
- имя этого столбца, полученное из строкового значения соответствующего элемента в
columnIdentifiers. ЕслиcolumnIdentifiersне содержит элемента с этим индексом, возвращается имя по умолчанию, предоставляемое суперклассом.
isCellEditable
public boolean isCellEditable(int row, int column)
- Определено в:
-
isCellEditableв интерфейсеTableModel - Переопределяет:
-
isCellEditableв классеAbstractTableModel - Параметры:
-
row— строка, значение которой запрашивается -
column— столбец, значение которого запрашивается - Возвращает:
- true
- См. также:
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— если указана недопустимая строка или столбец - См. также:
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
© 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