Класс 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<Vector> |
dataVector |
Вектор векторов, содержащий значения данных. |
Поля, объявленные в классе javax.swing.table.AbstractTableModel
listenerList
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
DefaultTableModel() |
Создаёт таблицу по умолчанию, которая представляет собой таблицу с нулём столбцов и нулём строк. |
DefaultTableModel |
Создаёт таблицу с массивом и вектором значений объектов. |
DefaultTableModel |
Создаёт таблицу и инициализирует её, передавая массив и вектор в метод setDataVector. |
DefaultTableModel |
Создаёт таблицу с количеством столбцов, равным числу элементов в массиве columnNames, и вектором значений объектов. |
DefaultTableModel |
Создаёт таблицу с количеством столбцов, равным числу элементов в массиве columnNames, и вектором значений объектов. |
DefaultTableModel |
Создаёт таблицу и инициализирует её, передавая массив и вектор в метод setDataVector. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
void |
addColumn |
Добавляет столбец в модель. |
void |
addColumn |
Добавляет столбец в модель. |
void |
addColumn |
Добавляет столбец в модель. |
void |
addRow |
Добавляет строку в конец модели. |
void |
addRow |
Добавляет строку в конец модели. |
protected static Vector<Object> |
convertToVector |
Возвращает вектор, содержащий те же объекты, что и массив. |
protected static Vector<Vector<Object>> |
convertToVector |
Возвращает вектор векторов, содержащий те же объекты, что и массив. |
int |
getColumnCount() |
Возвращает количество столбцов в этой таблице данных. |
String |
getColumnName |
Возвращает имя столбца. |
Vector<Vector> |
getDataVector() |
Возвращает вектор векторов, содержащих значения данных таблицы. |
int |
getRowCount() |
Возвращает количество строк в этой таблице данных. |
Object |
getValueAt |
Возвращает значение атрибута для ячейки в заданной строке и столбце. |
void |
insertRow |
Вставляет строку в модель на указанную позицию. |
void |
insertRow |
Вставляет строку в модель на указанную позицию. |
boolean |
isCellEditable |
Возвращает true независимо от значений параметров. |
void |
moveRow |
Перемещает одну или несколько строк из указанного диапазона в новую позицию в модели. |
void |
newDataAvailable |
Эквивалентно fireTableChanged. |
void |
newRowsAdded |
Обеспечивает, что новые строки имеют правильное количество столбцов. |
void |
removeRow |
Удаляет строку с указанным индексом из модели. |
void |
rowsRemoved |
Эквивалентно fireTableChanged. |
void |
setColumnCount |
Устанавливает количество столбцов в модели. |
void |
setColumnIdentifiers |
Заменяет идентификаторы столбцов в модели. |
void |
setColumnIdentifiers |
Заменяет идентификаторы столбцов в модели. |
void |
setDataVector |
Заменяет значение в переменной instance variable значениями из массива dataVector. |
void |
setDataVector |
Заменяет текущую переменную instance variable новым вектором строк dataVector. |
void |
setNumRows |
Устарело, начиная с Java 2 платформы v1.3. |
void |
setRowCount |
Устанавливает количество строк в модели. |
void |
setValueAt |
Устанавливает значение объекта для ячейки в заданной строке и столбце. |
Методы, объявленные в классе javax.swing.table.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
Подробное описание конструкторов
DefaultTableModel
public DefaultTableModel()
DefaultTableModel
public DefaultTableModel(int rowCount, int columnCount)
null.- Параметры:
-
rowCount- количество строк в таблице -
columnCount- количество столбцов в таблице - См. также:
DefaultTableModel
public DefaultTableModel(Vector<?> columnNames, int rowCount)
columnNames, и заданным количеством строк, заполненную объектами типа null. Имена столбцов будут взяты из вектора columnNames. - Параметры:
-
columnNames- вектор, содержащий имена новых столбцов; если он пуст, модель не имеет столбцов -
rowCount- количество строк в таблице - См. также:
DefaultTableModel
public DefaultTableModel(Object[] columnNames, int rowCount)
columnNames, и заданным количеством строк, заполненную объектами типа null. Имена столбцов будут взяты из массива columnNames. - Параметры:
-
columnNames- массив, содержащий имена новых столбцов; если он пуст, модель не имеет столбцов -
rowCount- количество строк в таблице - См. также:
DefaultTableModel
public DefaultTableModel(Vector<? extends Vector> data, Vector<?> columnNames)
data и columnNames методу setDataVector.- Параметры:
-
data- данные таблицы, вектор векторов значений типаObject -
columnNames- вектор, содержащий имена новых столбцов - См. также:
DefaultTableModel
public DefaultTableModel(Object[][] data, Object[] columnNames)
data и columnNames методу setDataVector. Первый индекс в массиве Object[][] — индекс строки, второй — индекс столбца.- Параметры:
-
data- данные таблицы -
columnNames- имена столбцов - См. также:
Подробное описание методов
getDataVector
public Vector<Vector> getDataVector()
Vector векторов, содержащий данные таблицы. Внешний вектор представляет строки, внутренние — значения в строках. Например, чтобы получить ячейку в строке 1, столбце 5: ((Vector)getDataVector().elementAt(1)).elementAt(5);
- Возвращает:
- вектор векторов, содержащий данные таблицы
- См. также:
setDataVector
public void setDataVector(Vector<? extends Vector> dataVector, Vector<?> columnIdentifiers)
dataVector на новый вектор строк dataVector. Каждая строка в dataVector — это вектор значений Object. columnIdentifiers — имена новых столбцов. Первое имя в columnIdentifiers сопоставляется с столбцом 0 в dataVector. Каждая строка в dataVector корректируется для соответствия количеству столбцов в columnIdentifiers, либо обрезая строку, если она слишком длинная, либо добавляя недостающие значения, если она слишком короткая. Обратите внимание, что передача 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, который обрезает слишком длинные вектора и добавляет недостающие значения, если они слишком короткие. Этот метод также отправляет уведомление обо всем прослушивающим объектам.- Параметры:
-
e- это событие описывает, где были добавлены строки. Если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. Будет сгенерировано уведомление о добавлении строки.- 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:
-
setValueAtв интерфейсеTableModel - Overrides:
-
setValueAtв классеAbstractTableModel - 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, 2021, 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/17/docs/api/java.desktop/javax/swing/table/DefaultTableModel.html