Použitie polí na uloženie údajov tabuľky
Jednoduchý spôsob poskytovania údajov pre internet
trieda má používať dve polia. Prvý obsahuje názvy stĺpcov v a
array:
Druhé pole je dvojrozmerné pole objektov, ktoré uchováva údaje pre tabuľku. Toto pole napríklad obsahuje šesť olympijských plavcov:
Kľúčom je zaistiť, aby mali dve polia rovnaký počet stĺpcov.
Zostavenie JTable
Akonáhle budete mať dáta na mieste, je to jednoduchá úloha vytvoriť tabuľku. Stačí zavolať
JTablestaviteľ a odovzdajte ich dvom poliam: Pravdepodobne budete chcieť pridať posuvníky, aby ste zabezpečili, že používateľ uvidí všetky údaje. Ak to chcete urobiť, umiestnite.
JTabledo a
JScrollPane: Teraz, keď sa tabuľka zobrazí, uvidíte stĺpce a riadky údajov a budete mať možnosť posúvať sa hore a dole.
Objekt JTable poskytuje interaktívnu tabuľku. Ak dvakrát kliknete na niektorú z buniek, budete môcť obsah upravovať - hoci akákoľvek úprava ovplyvní iba GUI, nie podkladové údaje. (AN poslucháč udalostí bude potrebné implementovať zmenu údajov.).
Ak chcete zmeniť šírku stĺpcov, umiestnite kurzor myši na okraj hlavičky stĺpca a presuňte ho tam a späť. Ak chcete zmeniť poradie stĺpcov, kliknite a podržte hlavičku stĺpca a potom ju potiahnite na nové miesto.
Triedenie stĺpcov
Ak chcete pridať možnosť triediť riadky, zavolajte na
setAutoCreateRowSortermetóda: Ak je táto metóda nastavená na true, môžete kliknúť na hlavičku stĺpca a zoradiť riadky podľa obsahu buniek pod týmto stĺpcom.
Zmena vzhľadu tabuľky
Na kontrolu viditeľnosti čiar mriežky použite
setShowGridmetóda: Ak chcete úplne zmeniť farbu tabuľky, použite.
setBackgrounda
setGridColormetódy: Šírky stĺpcov tabuľky sú predvolene rovnaké. Ak je nádoba, v ktorej je tabuľka, zväčšiteľná, šírka stĺpcov sa zväčší a zmenší a nádoba sa zväčší alebo zmenší. Ak používateľ zmení veľkosť stĺpca, šírka stĺpcov napravo sa zmení tak, aby vyhovovala novej veľkosti stĺpca.
Počiatočné šírky stĺpcov je možné nastaviť pomocou metódy setPreferredWidth alebo stĺpca. Pomocou triedy TableColumn najskôr získajte odkaz na stĺpec a potom pomocou metódy setPreferredWidth nastavte veľkosť:
Výber riadkov
V predvolenom nastavení môže používateľ vybrať riadky tabuľky jedným z troch spôsobov:
- Ak chcete vybrať jeden riadok, vyberte bunku tabuľky v tomto riadku.
- Ak chcete vybrať nepretržité viac riadkov, potiahnite myš o niekoľko riadkov alebo vyberte bunky tabuľky so stlačenou bunkou shift.
- Ak chcete vybrať nespojité viac riadkov, vyberte bunky tabuľky a zároveň držte stlačený kláves ovládací kľúč (príkazový kľúč pre počítače Mac).
Použitie modelu tabuľky
Použitie niekoľkých polí pre údaje tabuľky môže byť užitočné, ak chcete jednoduché povrázok-základná tabuľka, ktorú je možné editovať. Ak sa pozriete na dátové pole, ktoré sme vytvorili, obsahuje iné typy údajov ako
-
stĺpec obsahuje
a
stĺpec obsahuje
. Napriek tomu sa oba tieto stĺpce zobrazujú ako reťazce. Ak chcete zmeniť toto správanie, vytvorte model tabuľky.
Model tabuľky spravuje údaje, ktoré sa majú zobraziť v tabuľke. Ak chcete implementovať model tabuľky, môžete vytvoriť triedu, ktorá rozširuje
trieda:
Šesť vyššie uvedených metód je použitých v tomto sprievodcovi krok za krokom, existuje však viac metód definovaných v
triedy, ktoré sú užitočné pri manipulácii s údajmi v
objekt. Pri rozširovaní triedy na používanie
ste povinní implementovať iba
,
a
metódy.
Vytvorte novú triedu implementujúcu týchto päť vyššie uvedených metód:
V tomto príklade má zmysel
trieda na držanie dvoch reťazcov obsahujúcich údaje tabuľky. Potom
,
a
metódy môžu pomocou polí poskytnúť hodnoty pre tabuľku. Tiež si všimnite, ako
bola napísaná metóda na zakázanie prvých dvoch stĺpcov, ktoré sa majú upraviť.
Teraz namiesto použitia dvoch polí na vytvorenie
objekt, môžeme použiť
trieda:
Keď sa kód spustí, uvidíte, že
objekt používa model tabuľky, pretože žiadna z buniek tabuľky nie je upraviteľná a názvy stĺpcov sa používajú správne. Ak je
metóda nebola implementovaná, potom by sa názvy stĺpcov v tabuľke zobrazovali ako predvolené názvy A, B, C, D atď.
Pozrime sa teraz na metódu
. To samo o sebe robí tabuľkový model za implementáciu, pretože poskytuje
objekt s typom údajov obsiahnutým v každom stĺpci. Ak si pamätáte, dátové pole objektu má dva stĺpce, ktoré nie sú
typy údajov:
stĺpec, ktorý obsahuje ints, a
stĺpec, ktorý obsahuje
. Poznanie týchto typov údajov mení funkčnosť, ktorú poskytuje
objekt pre tieto stĺpce. Spustenie kódu vzorovej tabuľky s implementovaným modelom tabuľky znamená
stĺpec bude v skutočnosti rad začiarkavacích políčok.
Pridanie editora ComboBox
Môžete definovať vlastné editory pre bunky v tabuľke. Napríklad by ste mohli urobiť kombinovaný box ako alternatívu k štandardnej úprave textu pre pole.
Tu je príklad použitia
pole krajiny:
Ak chcete nastaviť predvolený editor pre stĺpec krajiny, použite
triedy, aby ste získali odkaz na stĺpec krajiny, a
metóda na nastavenie
ako editor buniek: