„DefaultTableModel“
klasė yra
„AbstractTableModel“
. Kaip rodo pavadinimas, lentelės modelį naudoja a
kai programuotojas konkrečiai nenustato jokio lentelės modelio. „DefaultTableModel“ „JTable“ duomenis saugo a
Vektorius
apie
Vektoriai
.
nors
Vektorius
yra sena „Java“ kolekcija, ji vis dar palaikoma ir nėra problemų dėl jos naudojimo, nebent dėl papildomų „Java“ programų problemų kelia papildomos pridėtinės išlaidos, atsirandančios dėl sinchronizuotos kolekcijos naudojimo.
Naudojimo privalumas
„DefaultTableModel“
per papročius
„AbstractTableModel“
ar nereikia koduoti tokių metodų kaip eilučių ir stulpelių pridėjimas, įterpimas ar ištrynimas. Jos jau yra pakeistos
Vektorius
apie
Vektoriai.
Tai leidžia greitai ir lengvai įdiegti stalo modelį.
Importo deklaracija
importuoti „javax.swing.table“. „DefaultTableModel“;
Konstruktoriai
„DefaultTableModel“
klasė turi šešis
. Kiekvienas iš jų gali būti naudojamas apgyvendinti
„DefaultTableModel“
skirtingais būdais.
Pirmasis konstruktorius nepaiso jokių argumentų ir sukuria
„DefaultTableModel“
kuriame nėra duomenų, nulis stulpelių ir nulio eilučių:
DefaultTableModel defTableModel = DefaultTableModel ();
Kitas konstruktorius gali būti naudojamas nurodyti eilučių ir stulpelių skaičių
„DefaultTableModel“
be duomenų:
DefaultTableModel defTableModel = DefaultTableModel (10, 10);
Yra du konstruktoriai, kuriuos galima naudoti kuriant
„DefaultTableModel“
su stulpelių pavadinimais ir nurodytu eilučių skaičiumi (visi turi nulinę reikšmę). Vienas naudoja
Objektas
masyvas stulpelių pavadinimams laikyti, kitas a
Vektorius
:
arba
DefaultTableModel defTableModel = DefaultTableModel (columnNames, 10);
Galiausiai yra du konstruktoriai, naudojami
„DefaultTableModel“
su eilučių duomenimis ir stulpelių pavadinimais. Vienas naudotas
Objektas
masyvai, kita
Vektoriai
:
arba
Naudingi metodai
Norėdami pridėti eilutę prie
„DefaultTableModel“
naudoti
addRow
metodas kartu su eilučių duomenimis, kuriuos norite pridėti:
Norėdami įterpti eilutę, naudokite
insertRow
metodas, nurodant įterpiamos eilutės rodyklę ir eilutės duomenis:
Norėdami ištrinti eilutę, naudokite
pašalintiRow
metodas, nurodant ištrintą eilutės rodyklę:
defTableModel.removeRow (0);
Norėdami gauti reikšmę lentelės langelyje, naudokite
getValueAt
metodas. Pvz., Jei 2 eilutės duomenys, 2 stulpelyje yra int:
int reikšmė = tabModel.getValueAt (2, 2);
Norėdami nustatyti vertę lentelės langelyje
setValueAt
metodas su nustatoma verte kartu su eilutės ir stulpelio rodykle:
defTableModel.setValueAt (8888, 3, 2);
Naudojimo patarimai
Jeigu
JTable
yra sukurtas naudojant konstruktorių, kuriam perduodamas dvimatis masyvas, kuriame yra eilučių duomenys, ir masyvas su stulpelių pavadinimais:
tada šie dalyviai neveiks:
Klaida
„ClassCastException“
bus mestas, nes šiuo atveju
„DefaultTableModel“
yra deklaruojamas kaip
viduje
JTable
objektas ir jo negalima atmesti. Jį galima atiduoti tik
„TableModel“
sąsaja. Kelias aplink tai yra sukurti savo
„DefaultTableModel“
ir nustatykite, kad tai būtų
JTable
:
Tada
„DefaultTableModel“
defTableModel
gali būti naudojamas manipuliuoti duomenimis
JTable
.
Norėdami pamatyti
„DefaultTableModel“
veikdami pažvelkite į
.