Aplety
Aplet (v anglickém jazyce applet) představuje aplikaci menšího rozsahu umístěnou do www strany, která běží v okně prohlížeče. Aplet je spouštěn po načtení WWW strany, nemůže tedy běžet samostatně bez prohlížeče. Dříve aplety představovaly jedno z typických využití Javy, v současné době se Java používá na serióznější typy aplikací. Aplety jsou proto používány spíše pro oživení WWW stránek či ukázku jednoduchých algoritmů. Aplety, na rozdíl od běžných aplikací, mají některá omezení bezpečnostního charakteru:Aplety mohou být digitálně podepsány, v takovém případě některá z bezpečnostních omezení neplatí. Problematikou digitálně podepsaných apletů se tento materiál nezabývá. Pokud budeme aplet překládat, je nutné vzít v úvahu, že uživatel nemusí mít k dispozici poslední verzi JDK, a applet mu nemusí fungovat. Aplety lze vytvářet nad grafckým rozhraním AWT i Swing.
Rozhraní AWT je podporováno všemi prohlížeči, o rozhraní Swing to neplatí. Navzdory naším
snahám bude v každém prohlížeči aplet vypadat trochu jinak. V této části se budeme zabývat pouze aplety vytvořenými v grafckém rozhraní Swing. Applety mají některé zajímavé vlastnosti:
Struktura appletu
Aplet může být tvořen jednou nebo více třídami, výchozí třída je odvozená od třídy javax.Swing.JApplet. Opět platí zásada, že jméno třídy musí být totožné se jménem souboru, ve kterém je třída uložena. Instance třídy JApplet představuje prázdný formulář, na něj mohou být přidávány další komponenty. Applet má podobnou strukturu jako běžný program, liší se na první pohled tím, že nemusí obsahovat metodu main(). Odlišností je však více, jak si časem ukážeme.Životní cyklus appletu
Aplet se v průběhu svého běhu dostává do několika stavů, které jsou doprovázeny voláním některých speciálních metod. Tyto stavy jsou ovlivněny nikoliv appletem samotným, ale prohlížečem. Bývají označovány literárním tvarem životní cyklus apletu. Metody jsou ve většině případů deklarovány jako public, uživatelem by měly být předefnovány.Konstruktor - Konstruktor apletu je volán poté, co byla načtena www stránka s apletem. Konstruktory nejsou v appletech téměř používány, jejich funkce nahrazují jiné metody, např. init().
metoda init() - Nejdůležitější metoda, je volána po vykonání konstruktoru. Jejím cílem je provedení inicializace apletu, supluje tedy funkci konstruktoru. Kód v ní by měl být chráněn pro případ vzmiku výjimky, nejčastěji je používána konstrukce try-catch. Metoda je volána pro aplet pouze jedenkrát. Každý applet by měl obsahovat metodu init().
metoda start() - Po provedení metody init() je applet spuštěn metodou start(). Metoda je vykonána vždy, když se aplet stane v okně prohlížeče viditelný. Na rozdíl od předchozí metody může být pro aplet volána opakovaně.
metoda stop() - Činnost apletu je metodou stop ukončena. Dojde k tomu, když aplet přestane být v okně prohlížeče viditelný. Pokud se aplet stane opět viditelný, je vykonána metoda start(), která aplet spustí. Metoda start() může být pro aplet volána opakovaně, je vlastně protějškem metody stop(). Používá se často v případě, kdy applet provádí výpočetně náročné činnosti, např. animace.
metoda destroy() - Metoda je volána při uvolněním apletu z paměti, má podobnou funkci jako destruktor. Pro aplet je volána pouze jednou.
metoda paint(Graphics g) - Její funkce je podobná jako v případě metody paintComponent(). Metoda je volána v případě, kdy je nutno překreslit obsah okna. Na objekt třídy Graphics lze kreslit běžnými metodami.
metoda jbInit() - Metoda, která je deklarována jako privátní, je používána při inicializaci komponent.
Autor: Filip Koval