Класс DefaultTableModel в Java хранит данные для JTable

DefaultTableModel

класс является подклассом

AbstractTableModel

. Как следует из названия, это табличная модель, которая используется

когда никакая табличная модель специально не определена программистом. DefaultTableModel хранит данные для JTable в

Вектор

из

векторы

.

Хотя

Вектор

это устаревшая коллекция Java, она все еще поддерживается, и нет никаких проблем с ее использованием, если только дополнительные издержки, вызванные использованием синхронизированной коллекции, не являются проблемой для вашего приложения Java.

Преимущество использования

DefaultTableModel

по обычаю

AbstractTableModel

если вам не нужно кодировать такие методы, как добавление, вставка или удаление строк и столбцов. Они уже существуют, чтобы изменить данные, хранящиеся в

Вектор

из

Векторы.

Это позволяет быстро и легко реализовать модель стола.

Импорт заявления

импорт javax.swing.table. DefaultTableModel;

Конструкторы

DefaultTableModel

в классе шесть

. Каждый может быть использован для заполнения

DefaultTableModel

по-разному.

Первый конструктор не принимает аргументов и создает

instagram viewer
DefaultTableModel

который не имеет данных, ноль столбцов и ноль строк:

DefaultTableModel defTableModel = DefaultTableModel ();

Следующий конструктор может использоваться для указания количества строк и столбцов

DefaultTableModel

без данных:

DefaultTableModel defTableModel = DefaultTableModel (10, 10);

Есть два конструктора, которые могут быть использованы для создания

DefaultTableModel

с именами столбцов и указанным количеством строк (все содержат нулевые значения). Один использует

объект

массив для хранения имен столбцов, другой

Вектор

:

или

DefaultTableModel defTableModel = DefaultTableModel (columnNames, 10);

Наконец, есть два конструктора, используемые для заполнения

DefaultTableModel

с данными строки вместе с именами столбцов. Один использовал

объект

массивы, другой

векторы

:

или

Полезные методы

Чтобы добавить строку в

DefaultTableModel

использовать

Добавить ряд

метод вместе с данными строки, чтобы добавить:

Чтобы вставить строку используйте

insertRow

метод, указывающий индекс строки для вставки и данные строки:

Чтобы удалить строку, используйте

removeRow

метод, указывающий индекс строки для удаления:

defTableModel.removeRow (0);

Чтобы получить значение в ячейке таблицы, используйте

getValueAt

метод. Например, если данные в строке 2, столбец 2 содержит int:

int value = tabModel.getValueAt (2, 2);

Чтобы установить значение в ячейке таблицы

setValueAt

метод со значением, которое нужно установить вместе с индексом строки и столбца:

defTableModel.setValueAt (8888, 3, 2);

Советы по использованию

Если

JTable

создается с помощью конструктора, которому передается двумерный массив, содержащий данные строки, и массив, содержащий имена столбцов:

тогда следующее приведение не будет работать:

Время выполнения

ClassCastException

будет брошено, потому что в этом случае

DefaultTableModel

объявлен как

в

JTable

объект и не может быть брошен. Это может быть приведено только к

TableModel

интерфейс. Способ обойти это - создать свой собственный

DefaultTableModel

и установить его в качестве модели

JTable

:

Тогда

DefaultTableModel
defTableModel

может использоваться для манипулирования данными в

JTable

.

Чтобы увидеть

DefaultTableModel

в действии взглянуть на

.

instagram story viewer