Pridávanie komponentov

Obsahkomponenty

Tlačidlo (Button)

Tlačidlo je vhodný komponent pre applety, kde chceme aby sa po jeho stlčení vykonala nejaká akcia. Preto sa vyskytuje takmer vo všetkých appletoch vykonávajúcich nejakú činnosť.

V nasledujúcich appletoch si ukážeme základné metódy úpravy formátu tlačidla.
Tlačidlo vytvoríme pomocou konštruktoru Button("string názov tlačidla"). Vložíme ho do appletu príkazom add(inštancia tlačidla), Pozadie tlačidla zmeníme metódou setBackground(farba) a formát písma na tlačidla nastavíme setFont(formát písma).

Tlačidlo

Ak chceme meniť veľkosť tlačidla a jeho pozíciu ľubovoľne použijeme metódu setBounds(int x, int y, int šírka, int výška), ale pred tým musíme vypnúť automatické rozmiestňovanie komponentov a to urobíme príkazom setLayout(null).

Tlačidlo

Tlačidlá vieme formátovať a vložiť, ale tieto tlačidlá ešte nič nerobia. Aby sa vykonala nejaká akcia po stlačení tlačidla musíme tlačidlu pridať addActionListener().

Nasledujúci applet po stlačení tlačidla vykreslí kruh. Budeme potrebovať metódu init(), paint(Graphics g) a actionPerformed (ActionEvent evt).

Na obrázku vidíme zdrojový kód appletu, teraz si opíšeme "nové" časti kódu.

Tlačidlo akcia

Importovali sme nový balík java.awt.event, ktorý je potrebný pre programovanie udalosti. V deklarácii triedy pribudla implementácia ActionListener a s ňou aj nová metóda actionPreformed (ActionEvent evt), v ktorej tele sa nachádza podmienka pre zistenie, či bolo tlačidlo stlačené. Ak áno do premennej stlacene sa priradí hodnota true a v metóde paint() sa vykreslí kruh.

Checkbox

Checkbox je zaškrtávacie políčko. Rozlišujeme dva typy checkbox. Ak použijeme len checkbox môžeme zaškrtnúť viac možností, ak by sme použili CheckboxGroup mohli by sme zaškrtnúť len jednu z ponúkaných možností.

V nasledujúcom applete, dostupnom na internete, si ukáže obe možnosti. Celý zdrojový kód kvôli rozsiahlosti nebudeme uvádzať, ale môžete si ho pozrieť na stránke
http://java.comsci.us/examples/awt/Checkbox.html .[8]

V tomto applete je použitý TextField, ktorému sa budeme venovať neskôr.

Checkbox vytvoríme pomocou konštruktoru
Checkbox názov = new Checkbox ("Text vypísaný pri checkbox ", boolean hodnota);

Skupinový má podobný syntax
Checkbox názov celej skupiny= new CheckboxGroup ();
Checkbox názov = new Checkbox ("Text pri checkbox ", názov celej skupiny, boolean hodnota);

Vložíme ich do appletu add(názov);

Aby sa po ich zaškrtnutí vykonala nejaká akcia nesmieme zabudnúť na addItemListener ()a na novú metódu
itemStateChanged(ItemEvent e)
, v ktorej tele sa nachádza kód, čo sa má stať po zaškrtnutí políčka. Samozrejme ako pri tlačidle musíme importovať balík java.awt.event a v deklarácii triedy pridať implementáciu ActionListener.

Na obrázku je skrátená verzia zdrojového kódu appletu.

checkbox

Choice (výber)

Komponent choice predstavuje rozbaľovaciu lištu s ponukou, z ktorej si vyberáme jednu z ponúknutých možností.

Choice vytvoríme pomocou konštruktoru
Choice názov = new Choice();

Možnosti výberu vložíme do choice pomocou metódy addItem(); Podľa toho, koľko možností výberu chceme, toľko krát budeme opakovať
názov.addItem("Možnosť výberu ");
Vložíme ho do appletu add(názov);
Do metódy action(Event event, Object object)napíšeme kód, ktorý chceme vykonať po vybraní nejakej položky.

Na obrázku je zdrojový kód appletu, ktorý sme vytvorili. Applet po zvolení jednej z možnosti vypíše v metóde paint číslo možnosti, ktoré sme vybrali.

Kód choice

TextField

TextField je jednoriadkové textové pole.

Vytvoríme ho pomocou konštruktoru
TextField názov = new TextField ("Text vypísaný v poli");

alebo
TextField názov = new TextField (int hodnota);
Hodnota udáva počet znakov poľa.

Vložíme ich do appletu add(názov);

Vzorový applet je vytvorený podľa appletu na stránke
http://www.cafeaulait.org/course/week6/21.html, do prvého poľa sa napíše text a po stlačení tlačidla ho applet prepíše veľkými písmenami.

Na obrázku je zdrojový kód, tohto appletu.

Kód textfield

V metóde actionPerfomed pribudli dva nové príkazy, ktoré sme si popisovali už v teoretickej časti tejto stránky.

TextArea

TextArea je textové pole, v ktorom môže byť aj viac ako jeden riadok textu.

Toto pole vytvoríme pomocou konštruktoru
TextArea názov = new TextArea (int riadky, int stĺpce);

alebo
TextField názov = new TextField (int hodnota);
Hodnota udáva počet znakov poľa.

Vložíme ho do appletu add(názov);

Aby sme mohli pracovať s textom v poli pridáme mu názov.addTextListener(); a vytvoríme novú metódu textValueChanged, v ktorej budeme vykonávať potrebné zmeny. Nezabudnime, že musíme implementovať applet s TextListener.

Vzorový applet obsahuje dve polia, do zeleného sa dá písať text a v bielom sa potom zobrazuje.

Zdrojový kód appletu je na obrázku.

Kód textArea

Jednotlivé riadky sú popísané priamo v applete a vystupujú tu všetky už známe príkazy.