DefaultTableModel клас в Java съхранява данни за JTable

click fraud protection

Най-

DefaultTableModel

class е подклас на

AbstractTableModel

. Както подсказва името, моделът на таблицата се използва от a

когато нито един модел на таблица не е конкретно дефиниран от програмиста. DefaultTableModel съхранява данните за JTable в a

вектор

на

Вектори

.

въпреки че

вектор

е наследена Java колекция, тя все още се поддържа и няма проблем с използването й, освен ако допълнителните режийни разходи, причинени от използването на синхронизирана колекция, не са проблем за вашето Java приложение.

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

DefaultTableModel

над обичай

AbstractTableModel

не е ли нужно да кодирате методите като добавяне, вмъкване или изтриване на редове и колони. Те вече съществуват, за да променят данните, съхранявани в

вектор

на

Вектори.

Това го прави бърз и лесен за изпълнение модел на масата.

Декларация за внос

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

конструкторите

Най-

DefaultTableModel

клас има шест

. Всеки може да се използва за попълване на

DefaultTableModel

по различни начини.

Първият конструктор не взема аргументи и създава a

instagram viewer
DefaultTableModel

което няма данни, нулеви колони и нула редове:

DefaultTableModel defTableModel = DefaultTableModel ();

Следващият конструктор може да се използва за определяне на броя на редовете и колоните на a

DefaultTableModel

без данни:

DefaultTableModel defTableModel = DefaultTableModel (10, 10);

Има два конструктора, които могат да се използват за създаване на

DefaultTableModel

с имена на колони и определен брой редове (всички съдържащи нулеви стойности). Човек използва

обект

масив за задържане на имената на колоните, другият a

вектор

:

или

DefaultTableModel defTableModel = DefaultTableModel (имена на колони, 10);

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

DefaultTableModel

с данни за редове заедно с имена на колони. Един използван

обект

масиви, другата

Вектори

:

или

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

За да добавите ред към

DefaultTableModel

използвай

addRow

метод заедно с данните за реда за добавяне:

За да вмъкнете ред, използвайте

insertRow

метод, като се посочва индексът на редовете, който да се вмъкне, и данните за реда:

За да изтриете ред, използвайте

removeRow

метод, като посочите индекса на реда за изтриване:

defTableModel.removeRow (0);

За да получите стойност в клетка на таблица, използвайте

getValueAt

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

int стойност = tabModel.getValueAt (2, 2);

За да зададете стойност в клетка на таблицата

setValueAt

метод със стойността, която трябва да зададете заедно с индекса на реда и колоните:

defTableModel.setValueAt (8888, 3, 2);

Съвети за употреба

Ако

JTable

се създава с помощта на конструктора, който се предава двуизмерен масив, съдържащ данните от реда и масив, съдържащ имената на колоните:

следният състав няма да работи:

Времетраене

ClassCastException

ще бъде хвърлен, защото в този случай

DefaultTableModel

е обявен за

в

JTable

обект и не може да бъде излъчен. Тя може да бъде предадена само на

TableModel

интерфейс. Начин за това е да създадете свой собствен

DefaultTableModel

и го задайте като модел на

JTable

:

Тогава

DefaultTableModel
defTableModel

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

JTable

.

За да видите

DefaultTableModel

в действие имам поглед върху

.

instagram story viewer