Latest web development tutorials

Java-Applet-Stiftung

Java-Applet-Stiftung

Ein Applet ist ein Java-Programm. Es läuft in der Regel in einem Java-fähigen Web-Browser. Weil es volle Unterstützung für Java-API hat, so dass das Applet ist eine voll funktionsfähige Java-Anwendungen.

Unten ist ein wichtiger Unterschied zwischen den Stand-alone-Java-Anwendung und Applet-Programme:

  • Java-Applet-Klasse erbt die Klasse java.applet.Applet
  • Applet-Klasse wird nicht definiert, main (), so dass das Programm stellt nicht ein Applet main () Methode,
  • Applets sind entworfen, in einer HTML-Seite eingebettet werden.
  • Wenn ein Benutzer eine HTML-Seite aufruft, die das Applet enthält, wird Applet-Code auf dem Computer des Benutzers heruntergeladen.
  • Um ein Applet zu sehen braucht JVM. JVM kann ein Plug-in Web-Browser oder eine separate Laufzeitumgebung sein.
  • JVM Benutzermaschine eine Instanz der Applet-Klasse und ruft die Applet-Lebenszyklus der verschiedenen Methoden zu erstellen.
  • Applets haben strenge Sicherheitsregeln Webbrowser durchsetzbare Sicherheit Applet die Sandbox-Sicherheit genannt wird.
  • Formular-Applet müssen andere Klassen können das Java-Archiv (JAR-Datei) verwenden heruntergeladen wird.

Applet-Lebenszyklus

Applet-Klasse stellt vier Methoden geben Ihnen einen Rahmen, Sie über den Rahmen für die Entwicklung von kleinen Programm sein kann:

  • init: Der Zweck dieses Verfahrens ist , Initialisierungen für das Applet benötigt bereitzustellen. Diese Methode wird nach dem param-Tag Applet-Tags aufgerufen wird, verarbeitet.
  • Start: Der Browser ruft die init - Methode, die automatisch aufgerufen wird. Jedes Mal, wenn der Benutzer auf die Seite von anderen Seiten gibt das Applet enthält, dann rufen Sie die Methode.
  • Stopp: Wenn ein Benutzer von der Seite mit dem Applet entfernt wird, wird das Verfahren automatisch aufgerufen. Daher kann dieses Verfahren wiederholt in dem gleichen Applet aufgerufen werden.
  • zerstören: Diese Methode wird nur aufgerufen, wenn der Browser ordnungsgemäß heruntergefahren wird. Da Applets nach nur gültig auf der HTML-Seite, so dass Sie nicht in der Benutzer sein sollte verlässt die Seite, die alle Ressourcen das Applet verpassen enthält.
  • Farbe: Diese Methode wird unmittelbar nach dem Start () -Methode aufgerufen, oder ein Applet neu gezeichnet werden muss , wenn der Browser aufruft. paint () -Methode tatsächlich von java.awt geerbt.

"Hallo, Welt" Applet:

Hier ist ein einfaches Applet Programm HelloWorldApplet.java:

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

Diese Aussagen importieren die folgenden Klassen in unsere Applet-Klasse:

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

Ohne diese Import-Anweisungen wird Java-Compiler nicht Applet und Graphics Klassen erkennen.


Applet-Klasse

Jedes Applet Unterklasse von Applet-Klassen sind java.applet.Applet Basisklasse, ein Verfahren für die abgeleitete Klasse Anrufe, um informiert und Dienstleistungen Browser Kontext zu erhalten.

Diese Methoden machen die folgenden Dinge:

  • Holen Sie sich das Applet-Parametern
  • Erhalten Sie Speicherort im Netzwerk, dass das Applet-HTML-Datei enthält
  • Erhalten Sie Speicherort im Netzwerk Applet-Klasse-Verzeichnis
  • Drucken Browser-Statusinformationen
  • Holen Sie sich ein Bild
  • Ruft einen Audio-Clip
  • Spielen Sie einen Audio-Clip
  • Ändern Sie die Größe des Applets

Zusätzlich stellt Applet-Klasse auch eine Schnittstelle, die für den Viewer-Applet oder einem Browser Informationen zu erhalten und um die Ausführung des Applets zu steuern.

-Viewer können sein:

  • Anfrage Applet Autor, Version und Copyright-Informationen
  • Beschreibung anfordern Parameteridentifikation Applet
  • Initialisierung Applet
  • Zerstörung Applet
  • Start-Applet
  • End Ausführung Applet

Applet-Klasse stellt eine Standardimplementierung dieser Methoden können diese Verfahren überschrieben werden, wenn nötig.

"Hallo, Welt" Applet werden gemäß Standard. Der einzige Weg, aufgehoben paint Methode.


Applet-Aufruf

Ein Applet ist ein Java-Programm. Es läuft in der Regel in einem Java-fähigen Web-Browser. Weil es volle Unterstützung für Java-API hat, so dass das Applet ist eine voll funktionsfähige Java-Anwendungen.

<Applet> -Tag basierend Applet in eine HTML-Datei eingebettet ist. Das folgende ist ein Aufruf an "Hallo Welt" Applet Beispiel;

<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>

Hinweis: Sie HTML - Applet - Tag verweisen können mehr über das Applet - Methodenaufruf aus dem HTML zu lernen.

Eigenschaften <Applet> -Tag gibt die Klasse Applet auszuführen. Breite und Höhe verwendet, um die ursprüngliche Größe des Applet geben Sie das Panel auszuführen. Applet müssen die </ Applet> -Tag zu schließen verwenden.

Wenn das Applet Parameter akzeptiert, dann benötigt der Wert des Parameters Tags hinzufügen, wird das Tag in <Applet> befindet und </ Applet> zwischen. Browser ignorieren den Text und andere Labels Applet-Tags.

Unterstützt keine Java-Browser nicht ausführen kann <Applet> und </ Applet>. Daher zwischen dem Etikett und dem Applet-Display und nichts Beziehung, ohne die Unterstützung von Java-Browser ist es sichtbar.

-Viewer oder Browser, um die Stelle im Dokument kompilierten Java-Code zu finden, um das Dokument Pfad angeben, müssen Sie mit <Applet> codebase-Attribut gibt den Tag an.

Wie folgt:

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

Wenn das Applet, wo ein Paket anstelle des Standard-Paket, muss das Paket in dem Code angegeben werden, wo das Grundstück, wo zum Beispiel:

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

Erhalten Sie Applet-Parametern

Das folgende Beispiel zeigt, wie ein Applet Antwort verwenden, um die Parameter in der Datei angegeben einzustellen. Das Applet zeigt einen schwarzen Schachbrettmuster und eine zweite Farbe.

Die zweite Farbe und die Größe jeder Spalte durch die Parameter des Applets in dem Dokument angegeben ist.

CheckerApplet erhalten ihre Parameter in init () -Methode im Inneren. Sie können auch innerhalb seiner Parameter in Farbe () -Methode erhalten. Allerdings beginnen im Applet Wert bekommen und die Einstellungen zu speichern, und nicht, wenn sie den Wert jedes Mal bekommen aktualisiert werden, so ist es bequem und effizient.

Applet-Viewer oder Browser, wenn das Applet bei jedem Aufruf init () -Methode ausgeführt wird. Nachdem das Applet geladen wird, rufen Sie sofort Viewer-Methode init () (Applet.init () tat nichts), die Standardimplementierung dieser Methode überschreiben, einige benutzerdefinierte Initialisierung Code hinzu.

Applet.getParameter () -Methode wird durch den Parameternamen Parameterwert erhalten gegeben. Wenn der erhaltene Wert eine Zahl oder andere nicht-Zeichendaten sind, müssen Sie in einen String-Typ zu lösen.

Das folgende Beispiel ist 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) {}
}

Hier ist CheckerApplet Klasse Methode init () und private parseSquareSize () -Methode:

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) {
     // 保留默认值
   }
}

Das Applet-Aufruf parseSquareSize (), squareSize Parameter zu lösen. parseSquareSize () -Methode ruft die Bibliothek Integer. parseInt (), die einen String in eine ganze Zahl analysieren wird, wenn der Parameter nicht gültig ist, wenn Integer.parseInt () eine Ausnahme auslöst.

Deshalb fangen parseSquareSize () -Methode auch die Ausnahme, und das Applet ist nicht erlaubt ungültige Eingabe zu akzeptieren.

Applet-Aufruf parseColor () -Methode des Farbparameter löst auf einen Farbwert. parseColor () -Methode wurden eine Reihe von Zeichenketten verglichen, um den Wert des Parameters zu entsprechen und einen vordefinierten Farbnamen. Sie müssen diese Methoden zu implementieren, um das Applet Arbeit zu machen.


Geben Sie Applet-Parametern

Das folgende Beispiel ist eine HTML-Datei, die CheckerApplet Klasse einbettet. HTML-Datei mit Applet-Tag-Methode die beiden Parameter angeben.

<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>

Hinweis: Die Parameternamen nicht zwischen Groß- und Klein werden.


Anwendungen in Applet

Die grafischen Java-Anwendungen (bezieht sich auf die Verwendung von AWT Anwendung und Nutzung Java-Programm-Launcher-Programme) in die Webseite eingebettet, wo das Applet ist sehr einfach.

Im Folgenden sind einige Schritte, um die Anwendung in einem Applet zu konvertieren:

  • Schreiben Sie eine HTML-Seite, die mit dem Applet-Tag Code geladen werden kann.
  • Schreibe eine JApplet Unterklasse, die Klasse zu öffentlichen gesetzt. Andernfalls Applet kann nicht geladen werden.
  • Beseitigen Sie die Anwendung der Methode main (). Sie nicht den Rahmen für das Anwendungsfenster konstruieren, weil Ihre Anwendung im Browser angezeigt werden.
  • Der Konstruktor Anwendungsrahmen Fenster, in dem die Initialisierung Code zum init-Applet () -Methode das Konfigurations-Applet Objekt, das Sie nicht den Browser kann angezeigt werden, indem die init () -Methode aufruft, ein Objekt zu instanziieren.
  • Entfernen Sie den Aufruf von setSize () -Methode, das Applet betrifft, so hat die Größe durch die HTML-Datei in der Breite und Höhe Parameter einstellen.
  • Nehmen Sie den Anruf an setDefaultCloseOperation () -Methode. Applet kann nicht geschlossen werden, da es der Browser beendet wird beendet.
  • Wenn die Anwendung ruft setTitle () -Methode, die Beseitigung dieser Methode des Aufrufs. Applet kann nicht über eine Titelleiste haben. (Natürlich können Sie den HTML-Titel-Tag für die Seite geben, durch sich selbst benannt ist)
  • Nicht setVisible (true) aufrufen, wird Applet automatisch angezeigt.

Event Processing

Applet-Klasse erbt eine Reihe von Event-Handler-Methode aus der Container-Klasse. Container-Klasse definiert verschiedene Methoden, wie zum Beispiel: processKeyEvent () und processMouseEvent (), bestimmte Arten von Ereignissen zu verarbeiten, gibt es eine Methode, um alle Ereignisse zu erfassen namens process.

In Reaktion auf ein Ereignis, Applet muss die entsprechende Event-Handler-Methode überschreiben.

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! ");
    }
}

Rufen Sie das folgende Applet:

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

Die meisten fing an zu laufen, Applet-Anzeige "das Applet initialisiert wird. Starten des Applets." Und Sie dann auf einem Rechteck klicken, wird es zeigen "Maus geklickt".


Bilder anzeigen

Applet kann GIF, JPEG, BMP und andere Bildformate anzuzeigen. Um Bilder im Applet anzuzeigen, benötigen Sie drawImage () -Methode java.awt.Graphics Klasse zu verwenden.

Die folgenden Beispiele zeigen alle Schritte Bilder anzuzeigen:

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);
   } 
}

Rufen Sie das folgende Applet:

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

Play Audio

Applet durch den Einsatz java.applet Paket Audioclip-Audio-Interfaces spielen. Audioclip-Schnittstelle definiert drei Methoden:

  • public void play (): Von Anfang an einmal um dieses Musikvideo abzuspielen.
  • public void loop (): Schleife spielen um dieses Musikvideo
  • public void stop (): Stoppen Sie einen Audioclip

Um Audioclip-Objekt zu erhalten, müssen Sie getAudioClip () -Methode Applet-Klasse aufrufen. Egal ob die URL auf eine echte Audio-Datei, die die Ergebnisse sofort angezeigt werden können.

Bis Sie eine Audiodatei wiedergegeben werden soll, wird die Datei heruntergeladen haben.

Die folgenden Beispiele zeigen die Schritte alle Audio zu spielen:

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();
      }
   }
}

Der folgende Aufruf Applet:

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

Sie können auf Ihrem Computer verwenden test.wav die obigen Beispiele zu testen.