DefaultTableModel
klasa je potklasa klase
AbstractTableModel
. Kao što ime sugerira, model tablice koristi a
kada programer nije definirao nijedan model tablice. DefaultTableModel pohranjuje podatke za JTable u a
Vektor
od
vektori
.
iako
Vektor
naslijeđena je Java kolekcija koja je i dalje podržana i nema problema s njenom upotrebom osim ako dodatni režijski troškovi uzrokovani sinkroniziranom kolekcijom ne predstavljaju problem za vašu Java aplikaciju.
Prednost upotrebe
DefaultTableModel
preko običaja
AbstractTableModel
je li ne morate kodirati metode poput dodavanja, umetanja ili brisanja redaka i stupaca. Oni već postoje kako bi promijenili podatke koji se čuvaju u
Vektor
od
Vektori.
To ga čini brzim i jednostavnim modelom tablice za implementaciju.
Izjava o uvozu
uvoz javax.swing.table. DefaultTableModel;
graditelji
DefaultTableModel
razred ima šest
. Svaki se može koristiti za popunjavanje
DefaultTableModel
na različite načine.
Prvi konstruktor ne uzima argumente i stvara a
DefaultTableModel
koji nema podatke, nula stupaca i nula redova:
DefaultTableModel defTableModel = DefaultTableModel ();
Sljedeći konstruktor može se koristiti za određivanje broja redaka i stupaca
DefaultTableModel
bez podataka:
DefaultTableModel defTableModel = DefaultTableModel (10, 10);
Postoje dva konstruktora koja se mogu koristiti za izradu
DefaultTableModel
s nazivima stupaca i određenim brojem redaka (svi koji sadrže null vrijednosti). Jedan koristi an
Objekt
niz za držanje imena stupaca, drugi a
Vektor
:
ili
DefaultTableModel defTableModel = DefaultTableModel (nazivi stupaca, 10);
Konačno, postoje dva konstruktora koja se koriste za naseljavanje
DefaultTableModel
s podacima o retcima zajedno s nazivima stupaca. Jedan rabljen
Objekt
nizovi, drugi
vektori
:
ili
Korisne metode
Za dodavanje retka u
DefaultTableModel
koristiti
addRow
metoda zajedno s podacima retka za dodavanje:
Za umetanje retka koristite znak
insertRow
metoda, određivanje indeksa redaka za umetanje i podataka retka:
Za brisanje retka koristite znak
removeRow
metoda uz određivanje indeksa redaka za brisanje:
defTableModel.removeRow (0);
Da biste dobili vrijednost u ćeliji tablice koristite
getValueAt
metoda. Na primjer, ako podaci u retku 2, stupac 2 sadrži int:
int vrijednost = tabModel.getValueAt (2, 2);
Da biste postavili vrijednost u ćeliji tablice
setValueAt
metoda sa vrijednošću koju treba postaviti zajedno sa indeksom retka i stupaca:
defTableModel.setValueAt (8888, 3, 2);
Savjeti za upotrebu
Ako a
JTable
kreira se pomoću konstruktora koji je proslijedio dvodimenzionalni niz koji sadrži podatke retka i niz koji sadrži nazive stupaca:
sljedeća cast neće raditi:
Runtime
ClassCastException
bit će bačen jer je u ovom slučaju the
DefaultTableModel
proglašen je an
u
JTable
objekta i ne može se cast. To se može prenijeti samo na
TableModel
sučelje. Način za to je stvaranje vlastitog
DefaultTableModel
i postavili ga da bude model
JTable
:
Onda
DefaultTableModel
defTableModel
može se koristiti za manipuliranje podacima u
JTable
.
Da biste vidjeli
DefaultTableModel
u akciji imaju pogled na
.