The
DefaultTableModel
razred je podrazred
AbstractTableModel
. Kot že ime pove, je model tabele, ki ga uporablja a
kadar programer ne definira nobenega modela tabele. Podatki DefaultTableModel shranijo podatke za JTable v
Vektor
od
Vektorji
.
Čeprav je
Vektor
je podedovana zbirka Java, ki jo še vedno podpira, in ni težav z njeno uporabo, razen če dodatni režijski stroški, ki jih povzroči sinhronizirana zbirka, ne predstavljajo težave za vašo aplikacijo Java.
Prednost uporabe
DefaultTableModel
preko po meri
AbstractTableModel
ali vam ni treba kodirati metod, kot so dodajanje, vstavljanje ali brisanje vrstic in stolpcev. Obstajajo že za spreminjanje podatkov, shranjenih v
Vektor
od
Vektorji.
To omogoča hiter in enostaven model tabel.
Uvozna izjava
uvoz javax.swing.table. DefaultTableModel;
Konstruktorji
The
DefaultTableModel
razred ima šest
. Vsako lahko uporabimo za naselitev
DefaultTableModel
na različne načine.
Prvi konstruktor ne sprejme nobenih argumentov in ustvari
DefaultTableModel
ki nima podatkov, nič stolpcev in nič vrstic:
DefaultTableModel defTableModel = DefaultTableModel ();
Naslednji konstruktor lahko uporabite za določitev števila vrstic in stolpcev
DefaultTableModel
brez podatkov:
DefaultTableModel defTableModel = DefaultTableModel (10, 10);
Obstajata dva konstruktorja, s pomočjo katerih lahko ustvarite
DefaultTableModel
z imeni stolpcev in določenim številom vrstic (vse vsebujejo ničelne vrednosti). Eden uporablja
Predmet
matrika, ki vsebuje imena stolpcev, druga a
Vektor
:
ali
DefaultTableModel defTableModel = DefaultTableModel (stolpcaNames, 10);
Nazadnje obstajata dva konstruktorja, ki se uporabljata za naseljevanje
DefaultTableModel
s podatki vrstic, skupaj z imeni stolpcev. Ena rabljena
Predmet
nizi, drugi
Vektorji
:
ali
Uporabne metode
Če želite vrstico dodati v
DefaultTableModel
uporabi
addRow
skupaj s podatki o vrsticah za dodajanje:
Če želite vstaviti vrstico, uporabite gumb
vstaviRow
metoda, pri čemer določite indeks vrstic za vstavljanje in podatke vrstice:
Če želite izbrisati vrstico, uporabite
removeRow
metoda, pri čemer določite indeks vrstice za brisanje:
defTableModel.removeRow (0);
Če želite dobiti vrednost v celici tabele, uporabite
getValueAt
metoda. Na primer, če podatki v 2. vrstici, stolpec 2 vsebuje int:
int vrednost = tabModel.getValueAt (2, 2);
Nastavitev vrednosti v celici tabele
setValueAt
metoda z vrednostjo, ki jo nastavite skupaj z indeksom vrstic in stolpcev:
defTableModel.setValueAt (8888, 3, 2);
Nasveti za uporabo
Če
JTable
je ustvarjen s pomočjo konstruktorja, ki mu je dodeljen dvodimenzionalni niz, ki vsebuje podatke vrstice in matriko, ki vsebuje imena stolpcev:
potem naslednja zasedba ne bo delovala:
Čas izvajanja
ClassCastException
bo vržen, ker je v tem primeru
DefaultTableModel
je razglašen za
v
JTable
predmeta in ga ni mogoče oddati. Oddaja se lahko samo
TableModel
vmesnik. Način za to je, da ustvarite svojega
DefaultTableModel
in ga nastavite kot model
JTable
:
Potem pa
DefaultTableModel
defTableModel
se lahko uporablja za obdelavo podatkov v
JTable
.
Za ogled
DefaultTableModel
v akciji poglejte na
.