Spec-Zone.ru › OpenJDK 8

Класс 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)

Создаёт таблицу со значениями объектов rowCount и columnCount.

DefaultTableModel(Object[][] data, Object[] columnNames)

Создаёт таблицу и инициализирует её, передавая значения data и columnNames методу setDataVector.

DefaultTableModel(Object[] columnNames, int rowCount)

Создаёт таблицу с количеством столбцов, равным количеству элементов в columnNames, и значениями объектов rowCount.

DefaultTableModel(Vector columnNames, int rowCount)

Создаёт таблицу с количеством столбцов, равным количеству элементов в columnNames, и значениями объектов rowCount.

DefaultTableModel(Vector data, Vector columnNames)

Создаёт таблицу и инициализирует её, передавая значения data и 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 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)

Возвращает значение атрибута для ячейки в позиции row и column.

void insertRow(int row, Object[] rowData)

Вставляет строку в позицию row в модели.

void insertRow(int row, Vector rowData)

Вставляет строку в позицию row в модели.

boolean isCellEditable(int row, int column)

Возвращает true независимо от значений параметров.

void moveRow(int start, int end, int to)

Перемещает одну или несколько строк из диапазона start - end в позицию to в модели.

void newDataAvailable(TableModelEvent event)

Эквивалентно fireTableChanged.

void newRowsAdded(TableModelEvent e)

Обеспечивает, что новые строки имеют правильное количество столбцов.

void removeRow(int row)

Удаляет строку в позиции row из модели.

void rowsRemoved(TableModelEvent event)

Эквивалентно fireTableChanged.

void setColumnCount(int columnCount)

Устанавливает количество столбцов в модели.

void setColumnIdentifiers(Object[] newIdentifiers)

Заменяет идентификаторы столбцов в модели.

void setColumnIdentifiers(Vector columnIdentifiers)

Заменяет идентификаторы столбцов в модели.

void setDataVector(Object[][] dataVector, Object[] columnIdentifiers)

Заменяет значение в переменной dataVector значениями из массива dataVector.

void setDataVector(Vector dataVector, Vector columnIdentifiers)

Заменяет текущую переменную dataVector новым вектором строк dataVector.

void setNumRows(int rowCount)

Устарело, начиная с Java 2 platform v1.3.

void setRowCount(int rowCount)

Устанавливает количество строк в модели.

void setValueAt(Object aValue, int row, int column)

Устанавливает значение объекта для ячейки в позиции column и row.

Методы, унаследованные от класса 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.

Spec-Zone.ru

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