Класс 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, поддержка долгосрочного хранения всех JavaBeans была добавлена в пакет java.beans. См. XMLEncoder.
- См. также:
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
protected Vector |
columnIdentifiers |
Список идентификаторов столбцов. |
protected Vector |
dataVector |
Вектор векторов, содержащий значения Vectors из Object. |
Поля, объявленные в классе javax.swing.table.AbstractTableModel
listenerList
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
DefaultTableModel() |
Создаёт таблицу по умолчанию с нулём столбцов и нулём строк. |
DefaultTableModel |
Создаёт таблицу со столбцами и значениями объектов null. |
DefaultTableModel |
Создаёт таблицу и инициализирует её, передавая data и columnNames методу setDataVector. |
DefaultTableModel |
Создаёт таблицу с количеством столбцов, равным количеству элементов в columnNames, и значениями объектов null. |
DefaultTableModel |
Создаёт таблицу с количеством столбцов, равным количеству элементов в columnNames, и значениями объектов null. |
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() |
Возвращает вектор 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 новым вектором строк dataVector. |
void |
setNumRows |
Устарело начиная с Java 2 platform v1.3. |
void |
setRowCount |
Устанавливает количество строк в модели. |
void |
setValueAt |
Устанавливает значение объекта для ячейки в строке column и столбце row. |
Методы, объявленные в классе javax.swing.table.AbstractTableModel
addTableModelListener, findColumn, fireTableCellUpdated, fireTableChanged, fireTableDataChanged, fireTableRowsDeleted, fireTableRowsInserted, fireTableRowsUpdated, fireTableStructureChanged, getColumnClass, getListeners, getTableModelListeners, removeTableModelListener
Подробное описание полей
dataVector
protected Vector<Vector> dataVector
columnIdentifiers
protected Vector columnIdentifiers
Подробное описание конструкторов
DefaultTableModel
public DefaultTableModel()
DefaultTableModel
public DefaultTableModel(int rowCount, int columnCount)
- Параметры:
-
rowCount- количество строк в таблице -
columnCount- количество столбцов в таблице - См. также:
DefaultTableModel
public DefaultTableModel(Vector<?> columnNames, int rowCount)
- Параметры:
-
columnNames- вектор имён новых столбцов; если пустой, модель не имеет столбцов -
rowCount- количество строк в таблице - См. также:
DefaultTableModel
public DefaultTableModel(Object[] columnNames, int rowCount)
- Параметры:
-
columnNames- массив имён новых столбцов; если пустой, модель не имеет столбцов -
rowCount- количество строк в таблице - См. также:
DefaultTableModel
public DefaultTableModel(Vector<? extends Vector> data, Vector<?> columnNames)
- Параметры:
-
data- данные таблицы, вектор векторов значений -
columnNames- имена столбцов - См. также:
DefaultTableModel
public DefaultTableModel(Object[][] data, Object[] columnNames)
- Параметры:
-
data- данные таблицы -
columnNames- имена столбцов - См. также:
Подробное описание методов
getDataVector
public Vector<Vector> getDataVector()
- Возвращает:
- Вектор векторов, содержащий данные таблицы
- См. также:
setDataVector
public void setDataVector(Vector<? extends Vector> dataVector, Vector<?> columnIdentifiers)
- Параметры:
-
dataVector- новый вектор данных -
columnIdentifiers- имена столбцов - См. также:
setDataVector
public void setDataVector(Object[][] dataVector, Object[] columnIdentifiers)
- Параметры:
-
dataVector- новый вектор данных -
columnIdentifiers- имена столбцов - См. также:
newDataAvailable
public void newDataAvailable(TableModelEvent event)
fireTableChanged.- Параметры:
-
event- событие изменения
newRowsAdded
public void newRowsAdded(TableModelEvent e)
- Параметры:
-
e- событие, описывающее добавление строк. Еслиnull, предполагается, что все строки были добавлены - См. также:
rowsRemoved
public void rowsRemoved(TableModelEvent event)
fireTableChanged.- Параметры:
-
event- событие изменения
setNumRows
public void setNumRows(int rowCount)
- Параметры:
-
rowCount- новое количество строк
setRowCount
public void setRowCount(int rowCount)
- Параметры:
-
rowCount- количество строк в модели - С версии:
- 1.3
- См. также:
addRow
public void addRow(Vector<?> rowData)
- Параметры:
-
rowData- данные новой строки (опционально)
addRow
public void addRow(Object[] rowData)
null значения, если не указано rowData. Будет сгенерировано уведомление о добавлении строки.- Parameters:
-
rowData- необязательные данные добавляемой строки
insertRow
public void insertRow(int row, Vector<?> rowData)
row в модели. Новая строка будет содержать null значения, если не указано rowData. Будет сгенерировано уведомление о добавлении строки.- Parameters:
-
row- индекс строки для вставки -
rowData- необязательные данные добавляемой строки - Throws:
-
ArrayIndexOutOfBoundsException- если строка была некорректной
insertRow
public void insertRow(int row, Object[] rowData)
row в модели. Новая строка будет содержать null значения, если не указано rowData. Будет сгенерировано уведомление о добавлении строки.- Parameters:
-
row- индекс строки для вставки -
rowData- необязательные данные добавляемой строки - Throws:
-
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
- Parameters:
-
start- начальный индекс перемещаемой строки -
end- конечный индекс перемещаемой строки -
to- место назначения перемещаемых строк - Throws:
-
ArrayIndexOutOfBoundsException- если какой-либо элемент будет перемещён за пределы диапазона таблицы
removeRow
public void removeRow(int row)
row из модели. Уведомление об удалении строки будет отправлено всем слушателям.- Parameters:
-
row- индекс строки для удаления - Throws:
-
ArrayIndexOutOfBoundsException- если строка была некорректной
setColumnIdentifiers
public void setColumnIdentifiers(Vector<?> columnIdentifiers)
newIdentifier больше текущего количества столбцов, новые столбцы добавляются в конец каждой строки модели. Если количество newIdentifier меньше текущего количества столбцов, все лишние столбцы в конце строки удаляются.- Parameters:
-
columnIdentifiers- вектор идентификаторов столбцов. Еслиnull, устанавливает модель на ноль столбцов - See Also:
setColumnIdentifiers
public void setColumnIdentifiers(Object[] newIdentifiers)
newIdentifier больше текущего количества столбцов, новые столбцы добавляются в конец каждой строки модели. Если количество newIdentifier меньше текущего количества столбцов, все лишние столбцы в конце строки удаляются.- Parameters:
-
newIdentifiers- массив идентификаторов столбцов. Еслиnull, устанавливает модель на ноль столбцов - See Also:
setColumnCount
public void setColumnCount(int columnCount)
null. Если новый размер меньше текущего, все столбцы с индексом columnCount и выше удаляются.- Parameters:
-
columnCount- новое количество столбцов в модели - Since:
- 1.3
- See Also:
addColumn
public void addColumn(Object columnName)
columnName, который может быть null. Этот метод отправит уведомление о tableChanged всем слушателям. Этот метод является оберткой для addColumn(Object, Vector), который использует null в качестве вектора данных.- Parameters:
-
columnName- идентификатор добавляемого столбца
addColumn
public void addColumn(Object columnName, Vector<?> columnData)
columnName, который может быть null. columnData — необязательный вектор данных для столбца. Если он null, столбец заполняется значениями null. В противном случае новые данные будут добавлены в модель, начиная с первого элемента, идущего в строку 0 и т. д. Этот метод отправит уведомление о tableChanged всем слушателям.- Parameters:
-
columnName- идентификатор добавляемого столбца -
columnData- необязательные данные добавляемого столбца
addColumn
public void addColumn(Object columnName, Object[] columnData)
columnName. columnData — необязательный массив данных для столбца. Если он null, столбец заполняется значениями null. В противном случае новые данные будут добавлены в модель, начиная с первого элемента, идущего в строку 0 и т. д. Этот метод отправит уведомление о tableChanged всем слушателям.- Parameters:
-
columnName- идентификатор вновь созданного столбца -
columnData- новые данные, которые будут добавлены в столбец - See Also:
getRowCount
public int getRowCount()
- Specified by:
-
getRowCountв интерфейсеTableModel - Returns:
- количество строк в модели
- See Also:
getColumnCount
public int getColumnCount()
- Specified by:
-
getColumnCountв интерфейсеTableModel - Returns:
- количество столбцов в модели
- See Also:
getColumnName
public String getColumnName(int column)
- Specified by:
-
getColumnNameв интерфейсеTableModel - Overrides:
-
getColumnNameв классеAbstractTableModel - Parameters:
-
column- запрашиваемый столбец - Returns:
- имя этого столбца, используя строковое значение соответствующего элемента в
columnIdentifiers. ЕслиcolumnIdentifiersне содержит записи для этого индекса, возвращается имя по умолчанию, заданное родительским классом.
isCellEditable
public boolean isCellEditable(int row, int column)
- Specified by:
-
isCellEditableв интерфейсеTableModel - Overrides:
-
isCellEditableв классеAbstractTableModel - Parameters:
-
row- строка, значение которой необходимо запросить -
column- столбец, значение которого необходимо запросить - Returns:
- true
- See Also:
getValueAt
public Object getValueAt(int row, int column)
row и column.- Specified by:
-
getValueAtв интерфейсеTableModel - Parameters:
-
row- строка, значение которой необходимо запросить -
column- столбец, значение которого необходимо запросить - Returns:
- объектное значение в указанной ячейке
- Throws:
-
ArrayIndexOutOfBoundsException- если была указана некорректная строка или столбец
setValueAt
public void setValueAt(Object aValue, int row, int column)
column и row. aValue — новое значение. Этот метод сгенерирует уведомление tableChanged.- Specified by:
-
setValueAtin interfaceTableModel - Overrides:
-
setValueAtin classAbstractTableModel - Parameters:
-
aValue— новое значение; может быть null -
row— строка, значение которой нужно изменить -
column— столбец, значение которого нужно изменить - Throws:
-
ArrayIndexOutOfBoundsException— если была указана недопустимая строка или столбец - See Also:
convertToVector
protected static Vector<Object> convertToVector(Object[] anArray)
- Parameters:
-
anArray— массив для преобразования - Returns:
- новый вектор; если
anArrayравенnull, возвращаетnull
convertToVector
protected static Vector<Vector<Object>> convertToVector(Object[][] anArray)
- Parameters:
-
anArray— двумерный массив для преобразования - Returns:
- новый вектор векторов; если
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://download.java.net/java/early_access/jdk24/docs/api/java.desktop/javax/swing/table/DefaultTableModel.html