Třída DefaultTableModel v Java ukládá data pro JTable

DefaultTableModel

třída je podtřída

AbstractTableModel

. Jak název napovídá, jedná se o model tabulky, který používá a

když není programátorem konkrétně definován žádný model tabulky. DefaultTableModel ukládá data pro JTable v a

Vektor

z

Vektory

.

Ačkoliv

Vektor

je starší kolekce Java, která je stále podporována a není problém s jejím používáním, ledaže by dodatečná režie způsobená použitím synchronizované kolekce byla problémem pro vaši aplikaci Java.

Výhoda použití

DefaultTableModel

přes vlastní

AbstractTableModel

nemusíte kódovat metody, jako je přidávání, vkládání nebo mazání řádků a sloupců. Již existují ke změně údajů uchovávaných v systému

Vektor

z

Vektory.

Díky tomu je implementován rychlý a snadný model stolu.

Importní prohlášení

import javax.swing.table. DefaultTableModel;

Konstruktory

DefaultTableModel

třída má šest

. Každý může být použit k naplnění

DefaultTableModel

v různých cestách.

První konstruktér nepřijímá žádné argumenty a vytváří a

DefaultTableModel

který nemá žádná data, nulové sloupce a nulové řádky:

instagram viewer
DefaultTableModel defTableModel = DefaultTableModel ();

Další konstruktor lze použít k určení počtu řádků a sloupců a

DefaultTableModel

bez údajů:

DefaultTableModel defTableModel = DefaultTableModel (10, 10);

Existují dva konstruktory, které lze použít k vytvoření

DefaultTableModel

s názvy sloupců a zadaným počtem řádků (všechny obsahující nulové hodnoty). Jeden používá

Objekt

pole pro pojmenování sloupců, ostatní a

Vektor

:

nebo

DefaultTableModel defTableModel = DefaultTableModel (columnNames, 10);

Konečně existují dva konstruktéři používané k naplnění

DefaultTableModel

s daty řádků a názvy sloupců. Jeden použitý

Objekt

pole, druhé

Vektory

:

nebo

Užitečné metody

Chcete-li přidat řádek do

DefaultTableModel

použijte

addRow

metoda spolu s údaji v řádku přidat:

Pro vložení řádku použijte

insertRow

metoda, určující index řádku, který má být vložen, a data řádku:

Pro smazání řádku použijte

removeRow

metoda, určující index řádku, který se má odstranit:

defTableModel.removeRow (0);

Chcete-li získat hodnotu v buňce tabulky, použijte

getValueAt

metoda. Pokud například data v řádku 2, sloupec 2 obsahuje int:

int value = tabModel.getValueAt (2, 2);

Nastavení hodnoty v buňce tabulky

setValueAt

metoda s hodnotou nastavenou společně s indexem řádků a sloupců:

defTableModel.setValueAt (8888, 3, 2);

Tipy pro použití

Pokud

JTable

je vytvořen pomocí konstruktoru, který je předán dvourozměrnému poli obsahujícímu data řádků a matici obsahující názvy sloupců:

pak následující obsazení nebude fungovat:

Runtime

ClassCastException

bude hozen, protože v tomto případě bude

DefaultTableModel

je deklarován jako

v

JTable

objekt a nelze obsadit. Může být odevzdán pouze do

TableModel

rozhraní. Způsob, jak to obejít, je vytvořit si vlastní

DefaultTableModel

a nastavit jej jako vzor

JTable

:

Pak

DefaultTableModel
defTableModel

lze použít k manipulaci s daty v systému Windows

JTable

.

Chcete-li vidět

DefaultTableModel

v akci se podívejte na

.