Класс 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 |
Список Vector Vectors Object значений. |
Поля, объявленные в классе javax.swing.table.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 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
Vector Vectors Object значений.columnIdentifiers
protected Vector columnIdentifiers
Подробное описание конструкторов
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- данные таблицы, вектор векторовVectorVectorзначенийObject -
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. Будет сгенерировано уведомление о добавлении строки.- 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:
-
setValueAtв интерфейсеTableModel - Overrides:
-
setValueAtв классеAbstractTableModel - Parameters:
-
aValue- новое значение; может быть null -
row- строка, значение которой нужно изменить -
column- столбец, значение которого нужно изменить - Throws:
-
ArrayIndexOutOfBoundsException- если была указана некорректная строка или столбец - See Also:
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, 2023, 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/21/docs/api/java.desktop/javax/swing/table/DefaultTableModel.html