
import java.awt.*;
import javax.swing.*;

/**
 * Aplet MujApplet2 ... doplnte vlastni komentar
 *
 * @author     jmeno autora
 * @version    cislo verze, datum
 */
public class MujApplet2 extends JApplet 
{

    //Atributy instance - nahradte ukazkovy kod vasim vlastnim
    private int x;

    
    /**
     * Tato metoda je volana prohlizecem nebo appletviewerem. 
     * Informuje aplet o tom, ze byl nahran do systemu. 
     * Je volana jeste pred prvnim zavolanim metody <code>start</code>.
     */
    public void init() 
    {
        /* Toto je pouze docasne reseni bezpecnostniho konfliktu soucasnych
         * prohlizecu vcetne Netscape & Internet Exploreru, ktere nepovoluji
         * pristup k AWT systemove fronte udalosti o ktery se  
         * JApplet pri svem startu pokousi. */
        JRootPane rootPane = this.getRootPane();
        rootPane.putClientProperty("defeatSystemEventQueueCheck", Boolean.TRUE);
        
        /*# Doplnte dalsi potrebnou inicializaci vaseho apletu. */
    }
    
    
    /**
     * Tato metoda je volana prohlizecem nebo appletviewerem, ktery takto
     * informuje aplet, ze byl spusten. Je volana po metode <code>init</code>
     * a pri kazdem opetovnem navstiveni stranky.
     */
    public void start() 
    {
        /*# Kod potrebny pro spusteni apletu pri kazde navsteve stranky. */
    }

    
    /**
     * Tato metoda je volana prohlizecem nebo appletviewerem, který takto
     * oznamuje apletu, ze se ma svoji cinnost ukoncit. 
     * Je volana pri nahrazeni stranky s apletem jinou strankou 
     * a pred tim nez je aplet volana metoda <code>destroy</code>.
     * V teto metode jsou ukoncovana spustena vlakna.
     */
    public void stop() 
    {
        /*# Kod potrebny pro zastaveni cinnosti apletu. */
    }

    
    /**
     * Tato metoda je volana prohlizecem nebo appletviewerem, ktery takto
     * oznamuje apletu, ze ma uvolnit všechny alokovane zdroje. 
     * Pred touto metodou je vzdy volana metoda <code>stop</code>.
     * /
 //   public void destroy() 
 //   {
        /*# Kod potrebny pro uvolneni alokovanych zdroju. */
 //   }

    
    /**
     * Vraci informace o apletu.
     * Aplet by mel tuto metodu prekryt a vratit retezec obsahujici
     * informace o autorovi, verzi a autorskych pravech k apletu.
     *
     * @return Retezec obsahujici informace o apletu.
     */
    public String getAppletInfo() 
    {
        /*# Sem vlozte informace o apletu. */
        return "Nazev:   \n" +
               "Autor:   \n" +
               "Popis: Jednoduchy ukazkovy aplet. ";
    }
    
    
    /**
     * Vraci informace o parametrech, ktere tento aplet umi zpracovat.
     * Aplet by mel prekryt tuto metodu tak, aby vracela pole poli
     * textovych retezcu popisujicich tyto parametry.
     * Kazdy prvek tohoto pole se sklada ze tri retezcu obsahujicich
     * jmeno, typ a popis.
     *
     * @return Pole retezcu reprezentujici parametry tohoto apletu.
     */
    public String[][] getParameterInfo() 
    {
        /*# Sem vlozte informace o apletu. */
        String paramInfo[][] = {
            {"prvniParametr", "1-10",    "popis prvniho parametru"},
            {"stav",          "boolean", "popis druheho parametru"},
            {"obrazky",       "url",     "popis tretiho parametru"}
        };
        return paramInfo;
    }
    

    /**
     * Toto je pravdepodobne nejdulezitejsi metoda apletu - 
     * zde je uveden kod pro vykresleni apletu na obrazovku.
     *
     * @param  g   objekt tridy Graphics pro vykresleni na obrazovku
     */
    public void paint(Graphics g) 
    {
        /*# Nasledujici ukazkovy kod nahradte kodem pro zobrazeni. */
        g.drawString("Ukazkovy aplet", 20, 20);
    }

}
