Класс 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, поддержка долгосрочного хранения всех JavaBeans™ была добавлена в пакет java.beans. См. XMLEncoder.
- См. также:
-
TableModel,getDataVector()
Поля
| Модификатор и тип | Поле и описание |
|---|---|
protected Vector |
columnIdentifiers Список идентификаторов столбцов. |
protected Vector |
dataVector Вектор векторов, содержащий значения данных. |
Поля, унаследованные от класса javax.swing.table.AbstractTableModel
listenerList Конструкторы
| Конструктор и описание |
|---|
DefaultTableModel() Создаёт стандартную таблицу с нулём столбцов и нулём строк. |
DefaultTableModel(int rowCount,
int columnCount) Создаёт таблицу со значениями объектов |
DefaultTableModel(Object[][] data,
Object[] columnNames) Создаёт таблицу и инициализирует её, передавая значения |
DefaultTableModel(Object[] columnNames,
int rowCount) Создаёт таблицу с количеством столбцов, равным количеству элементов в |
DefaultTableModel(Vector columnNames,
int rowCount) Создаёт таблицу с количеством столбцов, равным количеству элементов в |
DefaultTableModel(Vector data,
Vector columnNames) Создаёт таблицу и инициализирует её, передавая значения |
Методы
| Модификатор и тип | Метод и описание |
|---|---|
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 |
convertToVector(Object[] anArray) Возвращает вектор, содержащий те же объекты, что и массив. |
protected static Vector |
convertToVector(Object[][] anArray) Возвращает вектор векторов, содержащий те же объекты, что и массив. |
int |
getColumnCount() Возвращает количество столбцов в этой таблице данных. |
String |
getColumnName(int column) Возвращает имя столбца. |
Vector |
getDataVector() Возвращает вектор, содержащий данные таблицы. |
int |
getRowCount() Возвращает количество строк в этой таблице данных. |
Object |
getValueAt(int row,
int column) Возвращает значение атрибута для ячейки в позиции |
void |
insertRow(int row,
Object[] rowData) Вставляет строку в позицию |
void |
insertRow(int row,
Vector rowData) Вставляет строку в позицию |
boolean |
isCellEditable(int row,
int column) Возвращает true независимо от значений параметров. |
void |
moveRow(int start,
int end,
int to) Перемещает одну или несколько строк из диапазона |
void |
newDataAvailable(TableModelEvent event) Эквивалентно |
void |
newRowsAdded(TableModelEvent e) Обеспечивает, что новые строки имеют правильное количество столбцов. |
void |
removeRow(int row) Удаляет строку в позиции |
void |
rowsRemoved(TableModelEvent event) Эквивалентно |
void |
setColumnCount(int columnCount) Устанавливает количество столбцов в модели. |
void |
setColumnIdentifiers(Object[] newIdentifiers) Заменяет идентификаторы столбцов в модели. |
void |
setColumnIdentifiers(Vector columnIdentifiers) Заменяет идентификаторы столбцов в модели. |
void |
setDataVector(Object[][] dataVector,
Object[] columnIdentifiers) Заменяет значение в переменной |
void |
setDataVector(Vector dataVector,
Vector columnIdentifiers) Заменяет текущую переменную |
void |
setNumRows(int rowCount) Устарело, начиная с Java 2 platform v1.3. |
void |
setRowCount(int rowCount) Устанавливает количество строк в модели. |
void |
setValueAt(Object aValue,
int row,
int column) Устанавливает значение объекта для ячейки в позиции |
Методы, унаследованные от класса javax.swing.table.AbstractTableModel
addTableModelListener, findColumn, fireTableCellUpdated, fireTableChanged, fireTableDataChanged, fireTableRowsDeleted, fireTableRowsInserted, fireTableRowsUpdated, fireTableStructureChanged, getColumnClass, getListeners, getTableModelListeners, removeTableModelListener Методы, унаследованные от класса java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait Поля
dataVector
protected 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- количество столбцов в таблице - См. также:
setValueAt(java.lang.Object, int, int)
DefaultTableModel
public DefaultTableModel(Vector columnNames,
int rowCount) Создаёт модель DefaultTableModel со столькими столбцами, сколько элементов в columnNames, и rowCount значений объектов null. Имя каждого столбца будет взято из вектора columnNames.
- Параметры:
-
columnNames-vectorсодержащий имена новых столбцов; если этоnull, то модель не имеет столбцов -
rowCount- количество строк в таблице - См. также:
-
setDataVector(java.util.Vector, java.util.Vector),setValueAt(java.lang.Object, int, int)
DefaultTableModel
public DefaultTableModel(Object[] columnNames,
int rowCount) Создаёт модель DefaultTableModel со столькими столбцами, сколько элементов в columnNames, и rowCount значений объектов null. Имя каждого столбца будет взято из массива columnNames.
- Параметры:
-
columnNames-arrayсодержащий имена новых столбцов; если этоnull, то модель не имеет столбцов -
rowCount- количество строк в таблице - См. также:
-
setDataVector(java.util.Vector, java.util.Vector),setValueAt(java.lang.Object, int, int)
DefaultTableModel
public DefaultTableModel(Vector data,
Vector columnNames) Создаёт модель DefaultTableModel и инициализирует таблицу, передавая data и columnNames методу setDataVector.
- Параметры:
-
data- данные таблицы, векторVectorвекторовVectorзначенийObject -
columnNames-vectorсодержащий имена новых столбцов - См. также:
-
getDataVector(),setDataVector(java.util.Vector, java.util.Vector)
DefaultTableModel
public DefaultTableModel(Object[][] data,
Object[] columnNames) Создаёт модель DefaultTableModel и инициализирует таблицу, передавая data и columnNames методу setDataVector. Первый индекс в массиве Object[][] — это индекс строки, а второй — индекс столбца.
- Параметры:
-
data- данные таблицы -
columnNames- имена столбцов - См. также:
-
getDataVector(),setDataVector(java.util.Vector, java.util.Vector)
Методы
getDataVector
public Vector getDataVector()
Возвращает вектор Vector Vectors, содержащий значения данных таблицы. Векторы, содержащиеся во внешнем векторе, представляют собой отдельные строки значений. Другими словами, для доступа к ячейке в строке 1, столбце 5:
((Vector)getDataVector().elementAt(1)).elementAt(5);
- Возвращает:
- вектор векторов, содержащий значения данных таблицы
- См. также:
-
newDataAvailable(javax.swing.event.TableModelEvent),newRowsAdded(javax.swing.event.TableModelEvent),setDataVector(java.util.Vector, java.util.Vector)
setDataVector
public void setDataVector(Vector dataVector,
Vector columnIdentifiers) Заменяет текущую переменную экземпляра dataVector на новый вектор строк Vector, dataVector. Каждая строка представлена в dataVector как вектор Vector значений Object. columnIdentifiers — это имена новых столбцов. Первое имя в columnIdentifiers сопоставляется со столбцом 0 в dataVector. Каждая строка в dataVector корректируется, чтобы соответствовать количеству столбцов в columnIdentifiers путём усечения вектора, если он слишком длинный, или добавления значений 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- это событие описывает, где были добавлены строки. Еслиnull, предполагается, что все строки были вновь добавлены - См. также:
getDataVector()
rowsRemoved
public void rowsRemoved(TableModelEvent event)
Эквивалентно fireTableChanged.
- Параметры:
-
event- событие изменения
setNumRows
public void setNumRows(int rowCount)
Устарело начиная с Java 2 platform v1.3. Пожалуйста, используйте setRowCount вместо этого.
setRowCount
public void setRowCount(int 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
- См. также:
setColumnCount(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 всем слушателям.
- См. также:
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(java.lang.Object, int, int)
getValueAt
public Object getValueAt(int row,
int column) Возвращает значение атрибута для ячейки по координатам row и column.
- Определено в:
-
getValueAtв интерфейсеTableModel - Параметры:
-
row- строка, значение которой нужно запросить -
column- столбец, значение которого нужно запросить - Возвращает:
- объектное значение в указанной ячейке
- Исключения:
-
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 convertToVector(Object[] anArray)
Возвращает вектор, содержащий те же объекты, что и массив.
- Параметры:
-
anArray- преобразуемый массив - Возвращает:
- новый вектор; если
anArrayравенnull, возвращаетnull
convertToVector
protected static Vector convertToVector(Object[][] anArray)
Возвращает вектор векторов, содержащий те же объекты, что и двумерный массив.
- Параметры:
-
anArray- преобразуемый двумерный массив - Возвращает:
- новый вектор векторов; если
anArrayравенnull, возвращаетnull
© 1993, 2020, 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.