Latest web development tutorials

fondation Java Applet

fondation Java Applet

Une applet est un programme Java. Il se déroule généralement dans un navigateur Web compatible Java. Parce qu'il a un support complet pour l'API Java, donc l'applet est une des applications Java complet.

Ci-dessous est une différence importante entre les applications Java et applet programmes autonomes:

  • classe d'applet Java hérite de la classe java.applet.Applet
  • classe Applet ne définit pas main (), de sorte que le programme ne remet pas une méthode Applet main (),
  • Appliquettes sont conçus pour être incorporé dans une page HTML.
  • Quand un utilisateur navigue sur une page HTML qui contient l'applet, le code Applet est téléchargé sur la machine de l'utilisateur.
  • Pour afficher une applet doit JVM. JVM peut être un navigateur Web plug-in, ou un environnement d'exécution distinct.
  • Machine d'utilisateur machine virtuelle Java pour créer une instance de la classe d'applet et appelle le cycle de vie Applet des différentes méthodes.
  • Applets ont des règles strictes de sécurité navigateur Web applet de sécurité exécutoire est appelé la sécurité sandbox.
  • Formulaire applet besoin d'autres classes peuvent utiliser l'archive Java (JAR) est téléchargé.

applet cycle de vie

classe Applet fournit quatre méthodes vous donnent un cadre, vous pouvez être sur le cadre pour le développement du petit programme:

  • INIT: Le but de cette méthode est de fournir toute initialisation nécessaire pour votre applet. Cette méthode est appelée après les param tag balises Applet est traitées.
  • commencer: le navigateur appelle la méthode init, qui est appelée automatiquement. Chaque fois que l'utilisateur retourne à la page à partir d'autres pages contenant le Applet, puis appelez la méthode.
  • Arrêt: Quand un utilisateur est supprimé de la page contenant l'applet, la méthode est appelée automatiquement. Par conséquent, cette méthode peut être appelée à plusieurs reprises dans le même applet.
  • détruire: Cette méthode est appelée uniquement lorsque le navigateur est fermé gracieusement. Parce que les applets après uniquement valable sur la page HTML, de sorte que vous ne devriez pas être dans l'utilisateur quitte la page qui contient la miss Applet toutes les ressources.
  • peinture: Cette méthode est appelée immédiatement après la méthode start (), ou applet doit être redessiné lorsque le navigateur appelle. méthode paint () effectivement hérité de java.awt.

Applet "Bonjour tout le monde":

Voici simple HelloWorldApplet.java programme Applet:

import java.applet.*;
import java.awt.*;
 
public class HelloWorldApplet extends Applet
{
   public void paint (Graphics g)
   {
      g.drawString ("Hello World", 25, 50);
   }
}

Ces déclarations importent les classes suivantes dans notre classe d'applet:

java.applet.Applet.
java.awt.Graphics.

Sans ces déclarations d'importation, compilateur Java ne reconnaîtra pas les classes Applet et graphiques.


classe Applet

Chaque sous-classe de l'applet de classes Applet sont de classe de base java.applet.Applet fournit une méthode pour les appels de classe dérivée, afin d'obtenir des informations et des services contextuel du navigateur.

Ces méthodes font les choses suivantes:

  • Obtenez les paramètres de l'applet
  • Obtenez emplacement réseau qui contient le fichier HTML de l'applet
  • Obtenez emplacement répertoire de classe applet réseau
  • les informations d'état d'impression de navigateur
  • Obtenez une image
  • Obtient un clip audio
  • Jouer un clip audio
  • Redimensionner l'applet

En outre, la classe Applet fournit également une interface pour applet Viewer ou un navigateur pour obtenir des informations et de contrôler l'exécution de l'applet.

Viewer peut être:

  • Demande applet auteur, la version et les informations de copyright
  • Demande Identification des paramètres applet
  • Initialisation applet
  • destruction applet
  • Commencez applet
  • Fin d'exécution applet

classe Applet fournit une implémentation par défaut de ces méthodes, ces méthodes peut être remplacée en cas de besoin.

"Bonjour, monde" applet sont préparés conformément à la norme. La seule façon d'être remplacée méthode de peinture.


applet appel

Une applet est un programme Java. Il se déroule généralement dans un navigateur Web compatible Java. Parce qu'il a un support complet pour l'API Java, donc l'applet est une des applications Java complet.

<Applet> est applet basé incorporé dans un fichier HTML. Ce qui suit est un appel à "Bonjour tout le monde" exemple applet;

<html>
<title>The Hello, World Applet</title>
<hr>
<applet code="HelloWorldApplet.class" width="320" height="120">
If your browser was Java-enabled, a "Hello, World"
message would appear here.
</applet>
<hr>
</html>

Remarque: Vous pouvez vous référer à HTML Applet tag pour en savoir plus sur la méthode applet appel du HTML.

Propriétés balise <applet> spécifie la classe Applet à exécuter. Largeur et hauteur utilisés pour spécifier la taille initiale de l'applet pour exécuter le panneau. applet doit utiliser la balise </ applet> pour fermer.

Si l'applet accepte les paramètres, la valeur du paramètre requis Ajouter des tags, le tag se trouve dans <applet> et </ applet> entre les deux. Browsers ignorer le texte et d'autres balises étiquettes applet.

Ne supporte pas le navigateur Java ne peut pas exécuter <applet> et </ applet>. Par conséquent, entre l'étiquette et la relation d'affichage de l'applet et rien, sans le soutien du navigateur Java, il est visible.

Viewer ou navigateur pour trouver l'emplacement dans le document compilé code Java, pour spécifier le chemin du document, utilisez <applet> attribut codebase spécifie la balise.

Comme suit:

<applet codebase="http://amrood.com/applets"
code="HelloWorldApplet.class" width="320" height="120">

Si l'applet où un paquet au lieu du package par défaut, le paquet doit être spécifié dans le code où la propriété où, par exemple:

<applet code="mypackage.subpackage.TestApplet.class"
           width="320" height="120">

Obtenez paramètres de l'applet

L'exemple suivant montre comment utiliser une réponse de l'applet pour définir les paramètres spécifiés dans le fichier. Le Applet montre un motif en damier noir et une seconde couleur.

La deuxième couleur et la taille de chaque colonne spécifiée par les paramètres de l'applet dans le document.

CheckerApplet obtenir ses paramètres dans méthode init () à l'intérieur. Vous pouvez également obtenir ses paramètres dans la peinture () méthode à l'intérieur. Cependant, dans l'applet commencer à obtenir la valeur et enregistrer les paramètres, plutôt que quand ils sont rafraîchies à chaque fois obtenir la valeur, il est donc pratique et efficace.

visionneuse d'applet ou navigateur lorsque l'applet exécute chaque appel de méthode init (). Après le chargement de l'applet, l'Observateur d'initialisation appelez immédiatement la méthode () (Applet.init () n'a rien fait), remplacer l'implémentation par défaut de cette méthode, ajoutez un code d'initialisation personnalisé.

méthode Applet.getParameter () est donnée par la valeur du paramètre de nom de paramètre obtenu. Si la valeur obtenue est un nombre ou d'autres données non-caractères, vous devez résoudre à un type de chaîne.

L'exemple suivant est CheckerApplet.java Synopsis:

import java.applet.*;
import java.awt.*;
public class CheckerApplet extends Applet
{
   int squareSize = 50;// 初始化默认大小
   public void init () {}
   private void parseSquareSize (String param) {}
   private Color parseColor (String param) {}
   public void paint (Graphics g) {}
}

Voici la méthode CheckerApplet init classe () et parseSquareSize privé () méthode:

public void init ()
{
   String squareSizeParam = getParameter ("squareSize");
   parseSquareSize (squareSizeParam);
   String colorParam = getParameter ("color");
   Color fg = parseColor (colorParam);
   setBackground (Color.black);
   setForeground (fg);
}
private void parseSquareSize (String param)
{
   if (param == null) return;
   try {
      squareSize = Integer.parseInt (param);
   }
   catch (Exception e) {
     // 保留默认值
   }
}

Le parseSquareSize applet d'appel (), pour résoudre les paramètres squareSize. parseSquareSize () appelle la méthode Integer bibliothèque. parseInt (), qui parse une chaîne à un nombre entier, lorsque le paramètre est pas valide lorsque, Integer.parseInt () renvoie une exception.

Par conséquent, la méthode parseSquareSize () attraper aussi l'exception, et l'applet ne peut pas accepter l'entrée non valide.

méthode Applet appel parseColor () du paramètre de couleur résout à une valeur de couleur. méthode parseColor () ont été comparés à une série de chaînes pour correspondre à la valeur du paramètre et un nom de couleur prédéfinie. Vous avez besoin de mettre en œuvre ces méthodes pour faire fonctionner l'applet.


Spécifiez les paramètres de l'applet

L'exemple suivant est un fichier HTML qui intègre la classe CheckerApplet. fichier HTML en utilisant méthode de tag Applet pour spécifier les deux paramètres.

<html>
<title>Checkerboard Applet</title>
<hr>
<applet code="CheckerApplet.class" width="480" height="320">
<param name="color" value="blue">
<param name="squaresize" value="30">
</applet>
<hr>
</html>

Remarque: Les noms de paramètres ne sont pas sensibles à la casse.


Applications dans Applet

Les applications Java graphiques (se réfère à l'utilisation de l'application et du programme utilisation java lanceur programmes AWT) dans intégré dans la page web où l'applet est très simple.

Voici les quelques étapes pour convertir l'application dans une applet:

  • Ecrire une page HTML qui peut être chargé avec le code de la balise applet.
  • Ecrire une sous-classe JApplet, la classe est public. Sinon, applet ne peut pas être chargé.
  • Éliminer l'application de la méthode main (). Ne pas construire le cadre de la fenêtre d'application parce que votre demande soit affiché dans le navigateur.
  • La fenêtre du cadre de l'application du constructeur où le code d'initialisation init () la méthode de l'applet, l'objet configuration de l'applet vous n'affiche pas le navigateur en appelant la méthode init () pour instancier un objet.
  • Supprimez l'appel à la méthode setSize (), l'applet est concerné, la taille a été mis en place par le fichier HTML dans les paramètres de largeur et de hauteur.
  • Supprimez l'appel à la méthode de setDefaultCloseOperation (). Applet ne peut pas être fermé, car il sort du navigateur est terminée.
  • Si l'application appelle la méthode setTitle (), l'élimination de l'appel de cette méthode. applet ne peut pas avoir une barre de titre. (Bien sûr, vous pouvez donner à travers la balise de titre HTML pour la page elle-même est nommé)
  • Ne pas appeler setVisible (true), applet est automatiquement affichée.

Traitement de l'événement

classe Applet hérite d'un certain nombre de méthode de gestionnaire d'événement de la classe Container. classe Container définit plusieurs méthodes, telles que: processKeyEvent () et processMouseEvent (), pour traiter certains types d'événements, il existe une méthode pour capturer tous les événements appelés processEvent.

En réponse à un événement, applet doit remplacer la méthode de gestionnaire d'événement approprié.

import java.awt.event.MouseListener;
import java.awt.event.MouseEvent;
import java.applet.Applet;
import java.awt.Graphics;
 
public class ExampleEventHandling extends Applet
                             implements MouseListener {
 
    StringBuffer strBuffer;
 
    public void init() {
         addMouseListener(this);
         strBuffer = new StringBuffer();
        addItem("initializing the apple ");
    }
 
    public void start() {
        addItem("starting the applet ");
    }
 
    public void stop() {
        addItem("stopping the applet ");
    }
 
    public void destroy() {
        addItem("unloading the applet");
    }
 
    void addItem(String word) {
        System.out.println(word);
        strBuffer.append(word);
        repaint();
    }
 
    public void paint(Graphics g) {
         //Draw a Rectangle around the applet's display area.
        g.drawRect(0, 0,
                      getWidth() - 1,
                      getHeight() - 1);
 
         //display the string inside the rectangle.
        g.drawString(strBuffer.toString(), 10, 20);
    }
 
  
    public void mouseEntered(MouseEvent event) {
    }
    public void mouseExited(MouseEvent event) {
    }
    public void mousePressed(MouseEvent event) {
    }
    public void mouseReleased(MouseEvent event) {
    }
 
    public void mouseClicked(MouseEvent event) {
         addItem("mouse clicked! ");
    }
}

Appelez l'applet suivante:

<html>
<title>Event Handling</title>
<hr>
<applet code="ExampleEventHandling.class"
width="300" height="300">
</applet>
<hr>
</html>

La plupart ont commencé la course, l'affichage de l'applet "initialisation de l'applet. Démarrage de l'applet.", Et puis vous cliquez sur un rectangle, il affichera "souris cliqué".


Afficher les images

applet peut afficher GIF, JPEG, BMP et d'autres formats d'image. Pour afficher des images dans l'applet, vous devez utiliser drawImage () méthode java.awt.Graphics classe.

Les exemples suivants illustrent toutes les étapes pour afficher les images:

import java.applet.*;
import java.awt.*;
import java.net.*;
public class ImageDemo extends Applet
{
  private Image image;
  private AppletContext context;
  public void init()
  {
      context = this.getAppletContext();
      String imageURL = this.getParameter("image");
      if(imageURL == null)
      {
         imageURL = "java.jpg";
      }
      try
      {
         URL url = new URL(this.getDocumentBase(), imageURL);
         image = context.getImage(url);
      }catch(MalformedURLException e)
      {
         e.printStackTrace();
         // Display in browser status bar
         context.showStatus("Could not load image!");
      }
   }
   public void paint(Graphics g)
   {
      context.showStatus("Displaying image");
      g.drawImage(image, 0, 0, 200, 84, null);
      g.drawString("www.javalicense.com", 35, 100);
   } 
}

Appelez l'applet suivante:

<html>
<title>The ImageDemo applet</title>
<hr>
<applet code="ImageDemo.class" width="300" height="200">
<param name="image" value="java.jpg">
</applet>
<hr>
</html>

Lecture audio

Applet à travers le paquet de java.applet utilisation AudioClip jouer interfaces audio. Interface AudioClip définit trois méthodes:

  • jeu public void (): Dès le début , une fois la lecture de ce clip audio.
  • boucle public void (): boucle jouer ce clip audio
  • arrêt public void (): Arrêter un clip audio

Afin d'obtenir l'objet AudioClip, vous devez appeler getAudioClip () classe méthode Applet. Peu importe si l'URL pointe vers un véritable fichier audio qui retournent immédiatement les résultats.

Jusqu'à ce que vous voulez lire un fichier audio, le fichier sera téléchargé.

Les exemples suivants montrent les étapes à jouer tous les fichiers audio:

import java.applet.*;
import java.awt.*;
import java.net.*;
public class AudioDemo extends Applet
{
   private AudioClip clip;
   private AppletContext context;
   public void init()
   {
      context = this.getAppletContext();
      String audioURL = this.getParameter("audio");
      if(audioURL == null)
      {
         audioURL = "default.au";
      }
      try
      {
         URL url = new URL(this.getDocumentBase(), audioURL);
         clip = context.getAudioClip(url);
      }catch(MalformedURLException e)
      {
         e.printStackTrace();
         context.showStatus("Could not load audio file!");
      }
   }
   public void start()
   {
      if(clip != null)
      {
         clip.loop();
      }
   }
   public void stop()
   {
      if(clip != null)
      {
         clip.stop();
      }
   }
}

L'appel applet suivant:

<html>
<title>The ImageDemo applet</title>
<hr>
<applet code="ImageDemo.class" width="0" height="0">
<param name="audio" value="test.wav">
</applet>
<hr>

Vous pouvez utiliser test.wav sur votre ordinateur pour tester les exemples ci-dessus.