Clasa DefaultTableModel în Java stochează date pentru JTable

DefaultTableModel

clasa este o subclasa a

AbstractTableModel

. După cum sugerează și numele, este modelul de tabel care este folosit de un

când niciun model de tabel nu este definit în mod specific de programator. DefaultTableModel stochează datele pentru JTable într-un

Vector

de

Vectorii

.

desi

Vector

este o colecție Java moștenită, aceasta este în continuare acceptată și nu există nicio problemă cu folosirea ei, cu excepția cazului în care depășirea suplimentară cauzată de utilizarea unei colecții sincronizate este o problemă pentru aplicația dvs. Java.

Avantajul utilizării

DefaultTableModel

peste un obicei

AbstractTableModel

nu trebuie să codificați metodele precum adăugarea, inserarea sau ștergerea rândurilor și coloanelor. Există deja pentru a schimba datele deținute în

Vector

de

Vectorii.

Acest lucru îl face un model de masă rapid și ușor de implementat.

Declarație de import

import javax.swing.table. DefaultTableModel;

constructorilor

DefaultTableModel

clasa are șase

. Fiecare poate fi utilizat pentru a popula

instagram viewer
DefaultTableModel

în diverse feluri.

Primul constructor nu ia argumente și creează un

DefaultTableModel

care nu are date, zero coloane și zero rânduri:

DefaultTableModel defTableModel = DefaultTableModel ();

Următorul constructor poate fi utilizat pentru a specifica numărul de rânduri și coloane ale unui

DefaultTableModel

fara date:

DefaultTableModel defTableModel = DefaultTableModel (10, 10);

Există doi constructori care pot fi folosiți pentru a crea un

DefaultTableModel

cu nume de coloană și un număr specificat de rânduri (toate conținând valori nule). Unul folosește un

Obiect

tablou pentru a reține numele coloanelor, celălalt a

Vector

:

sau

DefaultTableModel defTableModel = DefaultTableModel (columnNames, 10);

În sfârșit, există doi constructori folosiți pentru popularea

DefaultTableModel

cu date de rând împreună cu numele coloanelor. Unul folosit

Obiect

matricile, celălalt

Vectorii

:

sau

Metode utile

Pentru a adăuga un rând la

DefaultTableModel

folosește

addRow

metoda împreună cu datele de rând pentru a adăuga:

Pentru a insera un rând, folosiți butonul

insertRow

metoda, specificând indexul de rând pe care trebuie să îl inserați și datele rândului:

Pentru a șterge un rând, utilizați tasta

removeRow

metoda, specificând indicele de rând care se șterge:

defTableModel.removeRow (0);

Pentru a obține o valoare într-o celulă de tabel, utilizați

getValueAt

metodă. De exemplu, dacă datele din rândul 2, coloana 2 conțin o int:

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

Pentru a seta o valoare într-o celulă de tabel

setValueAt

metoda cu valoarea de setat împreună cu indexul rând și coloană:

defTableModel.setValueAt (8888, 3, 2);

Sfaturi de utilizare

În cazul în care un

JTable

este creat folosind constructorul care a trecut un tablou bidimensional care conține datele rândului și un tablou care conține numele coloanelor:

atunci următoarea distribuție nu va funcționa:

Un timp de rulare

ClassCastException

va fi aruncat pentru că în acest caz

DefaultTableModel

este declarat drept an

în

JTable

obiect și nu poate fi turnat. Poate fi aruncat numai la

TableModel

interfață. O modalitate în acest sens este să-ți creezi propria ta

DefaultTableModel

și setați-l să fie modelul

JTable

:

Apoi

DefaultTableModel
defTableModel

poate fi folosit pentru a manipula datele din

JTable

.

Pentru a vedea

DefaultTableModel

în acțiune aruncați o privire asupra

.