Spec-Zone.ru › OpenJDK 17

Класс 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<Vector> dataVector
Вектор векторов, содержащий значения данных.

Поля, объявленные в классе javax.swing.table.AbstractTableModel

listenerList

Краткое описание конструкторов

Конструктор Описание
DefaultTableModel()
Создаёт таблицу по умолчанию, которая представляет собой таблицу с нулём столбцов и нулём строк.
DefaultTableModel(int rowCount, int columnCount)
Создаёт таблицу с массивом и вектором значений объектов.
DefaultTableModel(Object[][] data, Object[] columnNames)
Создаёт таблицу и инициализирует её, передавая массив и вектор в метод setDataVector.
DefaultTableModel(Object[] columnNames, int rowCount)
Создаёт таблицу с количеством столбцов, равным числу элементов в массиве columnNames, и вектором значений объектов.
DefaultTableModel(Vector<?> columnNames, int rowCount)
Создаёт таблицу с количеством столбцов, равным числу элементов в массиве columnNames, и вектором значений объектов.
DefaultTableModel(Vector<? extends Vector> data, Vector<?> columnNames)
Создаёт таблицу и инициализирует её, передавая массив и вектор в метод setDataVector.

Краткое описание методов

Модификатор и тип Метод Описание
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<Object> convertToVector(Object[] anArray)
Возвращает вектор, содержащий те же объекты, что и массив.
protected static Vector<Vector<Object>> convertToVector(Object[][] anArray)
Возвращает вектор векторов, содержащий те же объекты, что и массив.
int getColumnCount()
Возвращает количество столбцов в этой таблице данных.
String getColumnName(int column)
Возвращает имя столбца.
Vector<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)
Эквивалентно fireTableChanged.
void newRowsAdded(TableModelEvent e)
Обеспечивает, что новые строки имеют правильное количество столбцов.
void removeRow(int row)
Удаляет строку с указанным индексом из модели.
void rowsRemoved(TableModelEvent event)
Эквивалентно fireTableChanged.
void setColumnCount(int columnCount)
Устанавливает количество столбцов в модели.
void setColumnIdentifiers(Object[] newIdentifiers)
Заменяет идентификаторы столбцов в модели.
void setColumnIdentifiers(Vector<?> columnIdentifiers)
Заменяет идентификаторы столбцов в модели.
void setDataVector(Object[][] dataVector, Object[] columnIdentifiers)
Заменяет значение в переменной instance variable значениями из массива dataVector.
void setDataVector(Vector<? extends Vector> dataVector, Vector<?> columnIdentifiers)
Заменяет текущую переменную instance variable новым вектором строк dataVector.
void setNumRows(int rowCount)
Устарело, начиная с Java 2 платформы 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<Vector> dataVector
Вектор Vector значений Vectors Object.

columnIdentifiers

protected Vector columnIdentifiers
Вектор идентификаторов столбцов.

Подробное описание конструкторов

DefaultTableModel

public DefaultTableModel()
Создает таблицу с нулём столбцов и нулём строк по умолчанию.

DefaultTableModel

public DefaultTableModel(int rowCount, int columnCount)
Создает таблицу с заданным количеством строк и столбцов, заполненную значениями типа null.
Параметры:
rowCount - количество строк в таблице
columnCount - количество столбцов в таблице
См. также:
  • setValueAt(java.lang.Object, int, int)

DefaultTableModel

public DefaultTableModel(Vector<?> columnNames, int rowCount)
Создаёт таблицу с количеством столбцов, равным количеству элементов в columnNames, и заданным количеством строк, заполненную объектами типа null. Имена столбцов будут взяты из вектора columnNames.
Параметры:
columnNames - вектор, содержащий имена новых столбцов; если он пуст, модель не имеет столбцов
rowCount - количество строк в таблице
См. также:
  • setDataVector(java.util.Vector<? extends java.util.Vector>, java.util.Vector<?>)
  • setValueAt(java.lang.Object, int, int)

DefaultTableModel

public DefaultTableModel(Object[] columnNames, int rowCount)
Создает таблицу с количеством столбцов, равным количеству элементов в columnNames, и заданным количеством строк, заполненную объектами типа null. Имена столбцов будут взяты из массива columnNames.
Параметры:
columnNames - массив, содержащий имена новых столбцов; если он пуст, модель не имеет столбцов
rowCount - количество строк в таблице
См. также:
  • setDataVector(java.util.Vector<? extends java.util.Vector>, java.util.Vector<?>)
  • setValueAt(java.lang.Object, int, int)

DefaultTableModel

public DefaultTableModel(Vector<? extends Vector> data, Vector<?> columnNames)
Создает таблицу и инициализирует её, передавая data и columnNames методу setDataVector.
Параметры:
data - данные таблицы, вектор векторов значений типа Object
columnNames - вектор, содержащий имена новых столбцов
См. также:
  • getDataVector()
  • setDataVector(java.util.Vector<? extends java.util.Vector>, java.util.Vector<?>)

DefaultTableModel

public DefaultTableModel(Object[][] data, Object[] columnNames)
Создает таблицу и инициализирует её, передавая data и columnNames методу setDataVector. Первый индекс в массиве Object[][] — индекс строки, второй — индекс столбца.
Параметры:
data - данные таблицы
columnNames - имена столбцов
См. также:
  • getDataVector()
  • setDataVector(java.util.Vector<? extends java.util.Vector>, java.util.Vector<?>)

Подробное описание методов

getDataVector

public Vector<Vector> getDataVector()
Возвращает Vector векторов, содержащий данные таблицы. Внешний вектор представляет строки, внутренние — значения в строках. Например, чтобы получить ячейку в строке 1, столбце 5:

((Vector)getDataVector().elementAt(1)).elementAt(5);

Возвращает:
вектор векторов, содержащий данные таблицы
См. также:
  • newDataAvailable(javax.swing.event.TableModelEvent)
  • newRowsAdded(javax.swing.event.TableModelEvent)
  • setDataVector(java.util.Vector<? extends java.util.Vector>, java.util.Vector<?>)

setDataVector

public void setDataVector(Vector<? extends Vector> dataVector, Vector<?> columnIdentifiers)
Заменяет текущее значение переменной dataVector на новый вектор строк dataVector. Каждая строка в dataVector — это вектор значений Object. columnIdentifiers — имена новых столбцов. Первое имя в columnIdentifiers сопоставляется с столбцом 0 в dataVector. Каждая строка в dataVector корректируется для соответствия количеству столбцов в columnIdentifiers, либо обрезая строку, если она слишком длинная, либо добавляя недостающие значения, если она слишком короткая.

Обратите внимание, что передача 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, который обрезает слишком длинные вектора и добавляет недостающие значения, если они слишком короткие. Этот метод также отправляет уведомление обо всем прослушивающим объектам.
Параметры:
e - это событие описывает, где были добавлены строки. Если null, предполагается, что все строки были добавлены.
См. также:
  • getDataVector()

rowsRemoved

public void rowsRemoved(TableModelEvent event)
Эквивалентно fireTableChanged.
Параметры:
event - событие изменения

setNumRows

public void setNumRows(int rowCount)
Устарело начиная с Java 2 platform v1.3. Используйте setRowCount вместо этого.
Параметры:
rowCount - новое количество строк

setRowCount

public void setRowCount(int rowCount)
Устанавливает количество строк в модели. Если новое значение больше текущего, добавляются новые строки в конец модели. Если новое значение меньше текущего, все строки с индексом 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. Будет сгенерировано уведомление о добавлении строки.
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:
  • setNumRows(int)

setColumnIdentifiers

public void setColumnIdentifiers(Object[] newIdentifiers)
Заменяет идентификаторы столбцов в модели. Если количество newIdentifier больше текущего количества столбцов, новые столбцы добавляются в конец каждой строки в модели. Если количество newIdentifier меньше текущего количества столбцов, все дополнительные столбцы в конце строки удаляются.
Parameters:
newIdentifiers - массив идентификаторов столбцов. Если null, устанавливает модель в ноль столбцов
See Also:
  • setNumRows(int)

setColumnCount

public void setColumnCount(int columnCount)
Устанавливает количество столбцов в модели. Если новое значение больше текущего, новые столбцы добавляются в конец модели с null значениями ячеек. Если новое значение меньше текущего, все столбцы с индексом columnCount и выше удаляются.
Parameters:
columnCount - новое количество столбцов в модели
Since:
1.3
See Also:
  • setColumnCount(int)

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:
  • addColumn(Object, Vector)

getRowCount

public int getRowCount()
Возвращает количество строк в этой таблице данных.
Specified by:
getRowCount в интерфейсе TableModel
Returns:
количество строк в модели
See Also:
  • TableModel.getColumnCount()

getColumnCount

public int getColumnCount()
Возвращает количество столбцов в этой таблице данных.
Specified by:
getColumnCount в интерфейсе TableModel
Returns:
количество столбцов в модели
See Also:
  • TableModel.getRowCount()

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)
Возвращает true независимо от значений параметров.
Specified by:
isCellEditable в интерфейсе TableModel
Overrides:
isCellEditable в классе AbstractTableModel
Parameters:
row - строка, значение которой нужно запросить
column - столбец, значение которого нужно запросить
Returns:
true
See Also:
  • setValueAt(java.lang.Object, int, int)

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:
  • TableModel.getValueAt(int, int)
  • TableModel.isCellEditable(int, int)

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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API