Java - Úvod do Apletů (67.díl)

Napsal O webu (») 28. 10. 2008 v kategorii Programování, přečteno: 3797×
obrazky/java_logo.png

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:

  • aplet nemůže spouštět programy na domovském serveru.
  • aplet nemůže zapisovat do souborů v počítači, na kterém je spuštěn.
  • aplet nemůže navazovat spojení jinam než na domovský server.

    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:

  • mohou přehrávat multimediální soubory
  • mohou volat veřejné metody jiných appletů umístěných na stejné WWW straně

    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
  • Štítky: Java
    Facebook Twitter Topčlánky.cz Linkuj.cz

    Komentáře

    Článek ještě nebyl okomentován.


    Nový komentář

    Téma:
    Jméno:
    Notif. e-mail *:
    Komentář:
      [b] [obr]
    Odpovězte prosím číslicemi: Součet čísel šest a šest