DefaultTableModel
trieda je podtrieda
AbstractTableModel
. Ako už názov napovedá, je to tabuľkový model, ktorý používa a
keď programátor konkrétne nedefinuje žiadny model tabuľky. DefaultTableModel ukladá údaje pre JTable v a
vektor
z
Vectors
.
Napriek tomu
vektor
je staršia kolekcia Java, ktorá je stále podporovaná a s jej používaním nie je žiadny problém, pokiaľ dodatočné režijné náklady spôsobené synchronizovanou kolekciou nie sú problémom pre vašu Java aplikáciu.
Výhoda použitia
DefaultTableModel
nad zvyk
AbstractTableModel
nemusíte kódovať metódy, ako je pridávanie, vkladanie alebo odstraňovanie riadkov a stĺpcov. Už existujú na zmenu údajov uchovávaných na internete
vektor
z
Vektory.
Vďaka tomu je implementovaný rýchly a ľahký model stola.
Importné vyhlásenie
import javax.swing.table. DefaultTableModel;
konštruktéri
DefaultTableModel
trieda má šesť
. Každý môže byť použitý na osídlenie
DefaultTableModel
rôznymi spôsobmi.
Prvý konštruktor neberie argumenty a vytvára
DefaultTableModel
bez údajov, nulových stĺpcov a nulových riadkov:
DefaultTableModel defTableModel = DefaultTableModel ();
Nasledujúci konštruktor sa môže použiť na určenie počtu riadkov a stĺpcov a
DefaultTableModel
bez údajov:
DefaultTableModel defTableModel = DefaultTableModel (10, 10);
Existujú dva konštruktory, ktoré môžu byť použité na vytvorenie
DefaultTableModel
s názvami stĺpcov a určeným počtom riadkov (všetky obsahujúce nulové hodnoty). Jeden používa
objekt
pole na uchovávanie názvov stĺpcov, ostatné a
vektor
:
alebo
DefaultTableModel defTableModel = DefaultTableModel (columnNames, 10);
Nakoniec sú tu dvaja konštruktéri, ktorí sa používajú na osídlenie
DefaultTableModel
s údajmi riadkov spolu s názvami stĺpcov. Jeden použitý
objekt
polia, ostatné
Vectors
:
alebo
Užitočné metódy
Ak chcete pridať riadok do
DefaultTableModel
Použi
addRow
metóda spolu s údajmi v riadku, ktoré sa majú pridať:
Na vloženie riadku použite
insertRow
metóda určujúca index riadkov, ktorý sa má vložiť, a údaje riadkov:
Ak chcete odstrániť riadok, použite
removeRow
metóda určujúca index riadkov, ktorý sa má odstrániť:
defTableModel.removeRow (0);
Na získanie hodnoty v bunke tabuľky použite
getValueAt
metóda. Napríklad, ak údaje v riadku 2, stĺpci 2 obsahujú int:
int value = tabModel.getValueAt (2, 2);
Na nastavenie hodnoty v bunke tabuľky
setValueAt
metóda s hodnotou, ktorá sa má nastaviť spolu s indexom riadkov a stĺpcov:
defTableModel.setValueAt (8888, 3, 2);
Tipy na používanie
Ak
JTable
je vytvorený pomocou konštruktora, ktorému je odovzdané dvojrozmerné pole obsahujúce údaje riadka a pole obsahujúce názvy stĺpcov:
potom nasledujúce obsadenie nebude fungovať:
Runtime
ClassCastException
bude hodený, pretože v tomto prípade bude
DefaultTableModel
je deklarovaný ako
v
JTable
objekt a nemožno ho obsadiť. Môže byť odovzdaný iba do
TableModel
rozhranie. Spôsob, ako to obísť, je vytvoriť si vlastný
DefaultTableModel
a nastaviť ho ako vzor
JTable
:
Potom
DefaultTableModel
defTableModel
môže byť použitý na manipuláciu s údajmi v systéme Windows
JTable
.
Ak chcete vidieť
DefaultTableModel
v akcii sa pozrite na
.