DefaultTableModel
klase ir
AbstractTableModel
. Kā norāda nosaukums, tabulas modeli izmanto a
kad programmētājs nav īpaši definējis nevienu tabulas modeli. DefaultTableModel saglabā JTable datus a
Vektors
no
Vektori
.
Lai gan
Vektors
ir mantota Java kolekcija, tā joprojām tiek atbalstīta, un ar tās izmantošanu nav problēmu, ja vien Java lietojumprogrammai nav problēmu ar papildu pieskaņu, ko rada sinhronizētas kolekcijas lietošana.
Lietošanas priekšrocība
DefaultTableModel
pāri pasūtījumam
AbstractTableModel
vai jums nav jākodē tādas metodes kā rindu un kolonnu pievienošana, ievietošana vai dzēšana. Tie jau pastāv, lai mainītu
Vektors
no
Vektori.
Tas padara to ātru un ērtu galda modeļa ieviešanu.
Importa paziņojums
importēt javax.swing.table. DefaultTableModel;
Konstruktori
DefaultTableModel
klasē ir seši
. Katru no tiem var izmantot
DefaultTableModel
dažādos veidos.
Pirmais konstruktors neņem vērā argumentus un izveido a
DefaultTableModel
kurai nav datu, nulles kolonnu un nulles rindu:
DefaultTableModel defTableModel = DefaultTableModel ();
Nākamo konstruktoru var izmantot, lai norādītu a rindu un kolonnu skaitu
DefaultTableModel
bez datiem:
DefaultTableModel defTableModel = DefaultTableModel (10, 10);
Ir divi konstruktori, kurus var izmantot, lai izveidotu
DefaultTableModel
ar kolonnu nosaukumiem un noteiktu rindu skaitu (visi satur nulles vērtības). Viens izmanto
Objekts
masīvs kolonnu nosaukumu turēšanai, otrs a
Vektors
:
vai
DefaultTableModel defTableModel = DefaultTableModel (kolonnas nosaukumi, 10);
Visbeidzot, ir divi konstruktori, kurus izmanto
DefaultTableModel
ar rindu datiem kopā ar kolonnu nosaukumiem. Viens lietots
Objekts
bloki, otrs
Vektori
:
vai
Noderīgas metodes
Lai pievienotu rindu
DefaultTableModel
izmantojiet
addRow
metode kopā ar rindu datiem, ko pievienot:
Lai ievietotu rindu, izmantojiet
ievietotRow
metode, norādot ievietojamo rindu indeksu un rindu datus:
Lai izdzēstu rindu, izmantojiet
noņemt rindu
metode, norādot dzēšamo rindu indeksu:
defTableModel.removeRow (0);
Lai iegūtu vērtību tabulas šūnā, izmantojiet
getValueAt
metode. Piemēram, ja 2. rindas dati 2. slejā satur int:
int vērtība = tabModel.getValueAt (2, 2);
Lai iestatītu vērtību tabulas šūnā
setValueAt
metode ar iestatīto vērtību kopā ar rindu un kolonnu indeksu:
defTableModel.setValueAt (8888, 3, 2);
Lietošanas padomi
Ja
JTable
tiek izveidots, izmantojot konstruktoru, kuram tiek nodota divdimensiju masīva, kas satur rindu datus, un masīvu, kas satur kolonnu nosaukumus:
tad nedarbosies šādi dalībnieki:
Runtime
ClassCastException
tiks izmests, jo šajā gadījumā
DefaultTableModel
ir deklarēta kā
iekš
JTable
objekts, un to nevar atdot. To var nodot tikai
TableModel
saskarne. Apkārt tam ir izveidot savu
DefaultTableModel
un noteikt to par modeli
JTable
:
Tad
DefaultTableModel
defTableModel
var izmantot, lai manipulētu ar
JTable
.
Lai redzētu
DefaultTableModel
darbībā apskatiet
.