Applet viewer
Práce s appletem ve webovém prohlížeči není příliš pohodlná. Její největší nevýhodou je fakt, že případné změny ve zdrojovém kódu appletu se v prohlížeči neprojeví ani při opakovaném načtení www strany s appletem. Prohlížeč tedy musíme restartovat. Existuje aplikace, která se používá pro zobrazování appletů s názvem appletviewer. Appletviewer se používá pro zobrazení appletu uvedeného HTML kódu stránky, veškerý HTML kód strany ignoruje. Spustíme ho následujícím příkazemappletviewer nazev_html_souboru.
Applet viewer se tedy používá jako ladicí nástroj pro zobrazování appletů v průběhu jejich návrhu.
Appletviewer můžeme ošálit. Pokud do zdrojového kódu přidáme na jeho začátek ve formě jednořádkových komentářů následující text
//< APPLET
//CODEBASE=.
//CODE=AppletScitani.class
//NAME=Muj prvni applet
//WIDTH=200
//HEIGHT=100
//HSPACE=0
//VSPACE=0
//ALIGN=left
//< /APLET>
budeme moci appletviewererem spouštět přímo soubor AppletScitani.class.
Spouštění appletu jako aplikace
Často požadujeme, aby program bylo možno spustit jako aplet i aplikaci. Tento požadavek lze vyřešit velmi jednoduše, do appletu přidáme metodu main().Tato metoda je appletem ignorována, zároveň však umožní spouštění apletu jako aplikace. Je vhodné připomenout, že aplet pro kreslení využívá metodu paint(), aplikace paintComponent(). Pokusíme se vytvořit aplikaci generující graf funkce sinus ve formě apletu i aplikace.
public class AppletSinus extends JApplet {
public AppletSinus() {}
public void initcomponents() {}
public void paint(Graphics g) {
double step=0.1, x,y,xo,yo;
x=100/3;
xo=x; y=0; yo=0;
for (double i=0;i<4*Math.PI;i=i+step) {
y=i*200/8;
x=100/3-Math.sin(i)*200/8;
g.drawLine((int)yo,(int)xo,(int)y,(int)x);
xo=x; yo=y;
}
}
public static void main(String[] args) {
JFrame f=new JFrame();
f.setTitle("Sinus");
f.setVisible(true);
f.getContentPane().add(new Draw())
}
}
Všimněme si, že v tomto případě metoda init() neobsahuje žádný kód. Není potřeba vytvářet žádné komponenty ani ošetřovat události. Třída Draw provádějící kreslení vypadá takto:
public class Draw extends JComponent{
public void paintComponent(Graphics g) {
double step=0.1, x,y,xo,yo;
x=100/3;
xo=x; y=0; yo=0;
for (double i=0;i<4*Math.PI;i=i+step) {
y=i*200/8;
x=100/3-Math.sin(i)*200/8;
g.drawLine((int)yo,(int)xo,(int)y,(int)x);
xo=x; yo=y;
}
}
}
Autor: Filip Koval