Balíky (packages)

Triedy v Jave sú zoskupené do balíkov, ktoré spolu nejakým spôsobom súvisia. Na úplnom začiatku každého appletu musíme importovať balíky tried, ktoré bude applet obsahovať.

Balíky Java sú hierarchicky usporiadané. Na obrázku vidíme časť ich usporiadania.

Balíky Java

Všetky triedy nepriamo patria do hlavného balíka s názvom Java (alebo v novších verziách Javy aj do balíka javax). Balík java neobsahuje žiadne triedy, zato však v ňom nájdeme mnžstvo podbalíkov, ako napríklad awt, lang, net, util a pod. Každý z týchto podbalíkov je určený pre iný okruh úloh. [4]
Java poskytuje príkaz import,  pomocou ktorého môžeme požadované triedy sprístupniť pod svojimi krátkymi menami. Tento príkaz sa musí nachádzať v kompilačnej jednotke  pred začiatkom deklarácie tried. Príkaz import má dva spôsoby použitia.
V prvom uvedieme za kľúčové slovo import plne kvalifikované meno triedy, ako napríklad:

 Alebo ak by sme chceli vytvárať viacero tried z toho istého balíka použijeme zápis:

Jeden z najznámejších  a najpoužívanejších balíkov je java.awt (Abstract Window Toolkit), aj napriek tomu, že dnes sa skôr dáva prednosť komponentom Swing, ktoré sú univerzálnejšie,  flexibilnejšie a poskytujú väčšie možnosti. AWT umožňuje tvorbu grafického užívateľského rozhrania (GUI), t.j. práca so vstupmi a výstupmi v graficky orientovaných systémoch.

Trieda Component

Koreňom hierarchie je abstraktná trieda Component, predstavujúca univerzálny objekt, ktorý má nejakú grafickú reprezentáciu, môže byť zobrazený na obrazovke a dokáže interagovať s používateľom.
V triede Component nájdeme obrovské množstvo metód. Pozrieme sa na tie najdôležitejšie:

  • get*() a set*() - slúžia na získanie a nastavenie hodnoty nejakého atribútu
  • setVisible()/setEnabled() - nastavujú viditeľnosť a prístupnosť komponentu
  • (get|set)Foreground() a (get|set)Background() - získanie a nastavenie farby popredia, resp. pozadia komponentu
  • (get|set)Font() – font použitý v komponente
  • (get|set)Size() – rozmery komponentu
  • getX()/getY() – súradnice ľavého horného rohu komponentu
  • getWidth()/getHeight() – šírka/výška komponentu
  • paint()- vykreslí komponent
  • update()- obnoví obsah komponentu (zmaže pozadie a zavolá metódu paint())
  • repaint()- zavolá, čo najskôr metódu update() [4]

Potomkovia triedy Component predstavujú klasické ovládacie prvky. Medzi najpoužívanejšie patria nasledujúce, ktoré si zatiaľ len slovne opíšeme.

Trieda Label  (nadpis) používa sa na zobrazenie needitovateľného textu. Pri jeho konštrukcii môžeme zadať, či má byť zarovnaný na ľavý okraj, na stred alebo na pravý okraj. S textom pracujeme pomocou metód (get|set)Text(), so zarovnaním pomocou (get|set)Alignment(). [4]

Trieda Button reprezentuje tlačidlo, ktoré obsahuje voliteľný text, a ktoré možno stlačiť pomocou myši alebo klávesnice. S textom na tlačidle pracujeme pomocou metód (get|set)Label() a ohlas na stlačenie tlačidla zabezpečí príslušný listener, ktorý pridávame a odoberáme metódami (add|remove) ActionListener(). [4]

Trieda Checkbox predstavuje dvojstavové zaškrtávacie pole s voliteľným textom. Tento text sprístupňuje dvojica metód (get|set)Label(), stav poľa zase dvojica metód (get|set)State(). Zmenu stavu poľa môže registrovať listener, ktorý pridávame a odoberáme metódami (add|remove)ItemListener().

Objekty Checkbox môžu byť združované do skupín, reprezentovaných objektmi triedy CheckboxGroup  – vtedy sa z nich stávajú prepínače (radio buttons). Pomocou metód (get|set)SelectedCheckbox() máme prístup k aktuálne zvolenému prepínaču. [4]

Rozbaľovací (drop-down) zoznam reťazových položiek reprezentuje trieda Choice. Položky sa do zoznamu pridávajú metódami add() a insert(), odoberajú sa pomocou remove(). Položku s daným indexom môžeme získať metódou getItem(). Index aktuálne vybranej položky vracia metóda getSelectedIndex(), vybranú položku ako reťazec získame pomocou getSelectedItem(). Metódou select() môžeme nastaviť, ktorá položka bude vybraná a dvojica metód (add|remove)ItemListener() slúži na pridanie/odobranie listenerov [4].

Ďalšia trieda TextComponent je spoločným predkom komponentov určených na editáciu textu. S textom ako celkom možno pracovať pomocou metód (get|set)Text().
Od triedy TextComponent sú odvodené dve ďalšie triedy: TextField a TextArea. Prvá z nich predstavuje klasické jednoriadkové textové pole. Pri jeho konštrukcii môžeme zadať počiatočný obsah a šírku poľa v znakoch.
Druhá trieda, TextArea, reprezentuje viacriadkové textové editačné pole s možnosťou automatického zobrazovania posuvníkov, ak je obsah dlhší ako rozmery poľa. Pri konštrukcii môžeme zadať rozmery poľa. Pomocou metód insert() a append() môžeme text do poľa pridávať, metóda replaceRange() poskytuje možnosť nahradiť vybraný úsek textu iným reťazcom [4].