Latest web development tutorials

fondazione Java Applet

fondazione Java Applet

Un applet è un programma Java. Viene eseguito generalmente in un browser Web Java-enabled. Perché ha il pieno supporto per Java API, in modo che l'applet è un applicazioni full-optional Java.

Qui di seguito è una differenza importante tra i programmi applicativi Java e applet stand-alone:

  • classe di applet Java eredita la classe di java.applet.Applet
  • classe Applet non definisce main (), in modo che il programma non chiama un metodo Applet main (),
  • Applet sono progettati per essere incorporato in una pagina HTML.
  • Quando un utente visualizza una pagina HTML che contiene l'applet, codice Applet viene scaricato al computer dell'utente.
  • Per visualizzare un applet ha bisogno di JVM. JVM può essere un Web browser plug-in, o un ambiente di runtime separato.
  • macchina utente JVM di creare un'istanza della classe Applet, e chiama il ciclo di vita Applet dei vari metodi.
  • Applet hanno rigoroso delle norme di sicurezza del browser Web applet sicurezza esecutivo è chiamato sicurezza sandbox.
  • applet Modulo bisogno di altre classi possono utilizzare il file Java Archive (JAR) viene scaricato.

Applet del ciclo di vita

classe Applet fornisce quattro metodi che danno un quadro, si può essere sul quadro di riferimento per lo sviluppo del piccolo programma:

  • init: Lo scopo di questo metodo è quello di fornire alcuna inizializzazione necessario per l'applet. Questo metodo viene chiamato dopo i tag applet tag param viene elaborato.
  • inizio: il browser chiama il metodo init, che si chiama automaticamente. Ogni volta che l'utente torna alla pagina da altre pagine contenenti le applet, quindi chiamare il metodo.
  • ferma: Quando un utente viene rimosso dalla pagina contenente l'applet, il metodo viene chiamato automaticamente. Pertanto, questo metodo può essere chiamato più volte nella stessa applet.
  • distruggere: Questo metodo viene chiamato solo quando il browser viene arrestato correttamente. Perché le applet dopo validi solo nella pagina HTML, in modo da non dovrebbero essere in l'utente lascia la pagina che contiene l'applet perdere alcuna risorsa.
  • Vernice: Questo metodo viene chiamato immediatamente dopo il metodo start (), o applet ha bisogno di essere ridisegnato quando chiama il browser. metodo paint () in realtà ereditato da java.awt.

Applet "Ciao, mondo":

Ecco un semplice programma di HelloWorldApplet.java Applet:

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

Queste dichiarazioni importare i seguenti classi nella nostra classe Applet:

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

Senza queste istruzioni di importazione, compilatore Java non riconoscerà classi Applet e grafiche.


classe Applet

Ogni sottoclasse applet di classi Applet sono classe base java.applet.Applet fornisce un metodo per le chiamate classe derivata, al fine di ottenere informazioni e servizi contestuale del browser.

Questi metodi fanno le seguenti cose:

  • I parametri dell'applet
  • Prendi posizione di rete che contiene il file HTML dell'applet
  • Ottenere la posizione della directory classe Applet rete
  • informazioni sullo stato del browser Stampa
  • Ottenere un quadro
  • Ottiene un clip audio
  • Gioca un clip audio
  • Ridimensionare l'applet

Inoltre, classe Applet fornisce anche un'interfaccia che per applet visualizzatore o un browser per ottenere informazioni e per controllare l'esecuzione della applet.

Viewer può essere:

  • Richiesta applet autore, la versione e le informazioni sul copyright
  • Richiesta Descrizione applet identificazione dei parametri
  • applet di inizializzazione
  • applet distruzione
  • Inizia applet
  • Fine esecuzione dell'applet

classe Applet fornisce un'implementazione predefinita di questi metodi, questi metodi può essere sovrascritto quando necessario.

"Ciao, mondo" applet vengono preparati secondo lo standard. L'unico modo per essere sovrascritta metodo paint.


chiamata Applet

Un applet è un programma Java. Viene eseguito generalmente in un browser Web Java-enabled. Perché ha il pieno supporto per Java API, in modo che l'applet è un applicazioni full-optional Java.

<Applet> tag è basato applet incorporato in un file HTML. La seguente è una chiamata a "Ciao Mondo" esempio 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>

Nota: è possibile fare riferimento a tag HTML applet per conoscere meglio il metodo di chiamata applet dal HTML.

Proprietà <applet> tag specifica classe Applet per l'esecuzione. Larghezza e altezza utilizzati per specificare la dimensione iniziale del applet di eseguire il pannello. applet deve utilizzare il </ applet> tag per chiudere.

Se l'applet accetta parametri, allora il valore del parametro richiesto Aggiungi tag, il tag si trova in <applet> e </ applet> mezzo. I browser ignorano il testo e altri tag etichette applet.

Non supporta il browser Java non può eseguire <applet> e </ applet>. Pertanto, tra l'etichetta e il rapporto di visualizzazione applet e niente, senza il supporto di Java del browser è visibile.

Viewer o il browser per trovare la posizione nel codice Java documento redatto, per specificare il percorso del documento, è necessario utilizzare <applet> attributo codebase specifica il tag.

Come segue:

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

Se l'applet in cui un pacchetto al posto del pacchetto predefinito, il pacchetto devono essere specificati nel codice in cui la proprietà in cui, ad esempio:

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

Ottenere parametri dell'applet

L'esempio seguente mostra come utilizzare una risposta applet per impostare i parametri specificati nel file. L'applet mostra uno schema a scacchiera bianco e un secondo colore.

Il secondo colore e la dimensione di ogni colonna specificato dai parametri del applet nel documento.

CheckerApplet ottenere i suoi parametri di metodo init () all'interno. È inoltre possibile ottenere i suoi parametri in vernice () metodo all'interno. Tuttavia, l'applet iniziare a ricevere il valore e salvare le impostazioni, piuttosto che quando vengono aggiornati ogni volta che ottenere il valore, quindi è conveniente ed efficiente.

visualizzatore di applet o browser quando l'applet viene eseguito ogni chiamata al metodo init (). Dopo aver caricato l'applet, visualizzatore di chiamare immediatamente il metodo init () (Applet.init () non ha fatto nulla), sostituire l'implementazione predefinita di questo metodo, aggiungere un po 'di codice di inizializzazione personalizzato.

Metodo Applet.getParameter () è data dal valore del parametro nome del parametro ottenuto. Se il valore ottenuto è un numero o altri dati non di carattere, è necessario risolvere in un tipo stringa.

L'esempio che segue è CheckerApplet.java Trama:

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

Ecco metodo CheckerApplet classe init () e parseSquareSize privato () metodo:

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

Il parseSquareSize chiamata applet (), per risolvere i parametri squareSize. parseSquareSize () metodo chiama il Integer biblioteca. parseInt (), che analizza una stringa in un intero, quando il parametro non è valido quando, Integer.parseInt () genera un'eccezione.

Pertanto, il metodo parseSquareSize () anche intercettare l'eccezione, e l'applet non è permesso di accettare input non valido.

chiamata al metodo Applet parseColor () del parametro colore si risolve in un valore di colore. Metodo parseColor () sono stati confrontati una serie di stringhe da corrispondere al valore del parametro e un nome di colore predefinito. È necessario implementare questi metodi per far funzionare il applet.


Specificare parametri dell'applet

L'esempio che segue è un file HTML che incorpora classe CheckerApplet. file HTML utilizzando Metodo tag applet per specificare i due parametri.

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

Nota: I nomi dei parametri non sono case sensitive.


Applicazioni in Applet

Le applicazioni Java grafiche (si riferisce all'uso di programmi applicativi e il programma di utilizzo di java AWT) in incorporato nella pagina web dove l'applet è molto semplice.

Di seguito sono riportati alcuni passi per convertire l'applicazione in un applet:

  • Scrivere una pagina HTML che può essere caricato con il codice applet.
  • Scrivi una sottoclasse JApplet, la classe è impostato su pubblico. Altrimenti, applet non può essere caricato.
  • Eliminare l'applicazione del metodo main (). Non costruire il quadro di riferimento per la finestra dell'applicazione perché l'applicazione da visualizzare nel browser.
  • Il telaio della finestra dell'applicazione costruttore in cui il codice di inizializzazione per il metodo init () dell'applet, l'oggetto applet di configurazione non si visualizza il browser chiamando il metodo init () per creare un'istanza di un oggetto.
  • Rimuovere la chiamata al metodo setSize (), l'applet è interessato, la dimensione è stato istituito dal file HTML nei parametri di larghezza e altezza.
  • Rimuovere la chiamata al metodo di setDefaultCloseOperation (). Applet non può essere chiuso, non appena esce il browser è terminata.
  • Se l'applicazione chiama il metodo setTitle (), l'eliminazione della chiamata a questo metodo. applet non può avere una barra del titolo. (Naturalmente, si può dare attraverso il tag titolo HTML per la pagina stessa è chiamato)
  • Non chiamare setVisible (true), viene visualizzato automaticamente applet.

Event Processing

classe Applet eredita una serie di metodo di gestore di eventi dalla classe Container. classe contenitore definisce diversi metodi, quali: processKeyEvent () e processMouseEvent (), per gestire particolari tipi di eventi, esiste un metodo per catturare tutti gli eventi chiamati processEvent.

In risposta a un evento, applet deve eseguire l'override del metodo di gestore di eventi appropriato.

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

Chiamare il seguente applet:

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

La maggior parte ha iniziato in esecuzione, visualizzazione applet "inizializzazione l'applet. Avvio della applet.", E poi si fa clic su un rettangolo, mostrerà "mouse cliccato".


Visualizzare le immagini

applet in grado di visualizzare GIF, JPEG, BMP e altri formati di immagine. Per visualizzare le immagini in applet, è necessario utilizzare drawImage () metodo di classe java.awt.Graphics.

I seguenti esempi dimostrano tutti i passaggi per visualizzare le immagini:

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

Chiamare il seguente 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 attraverso il pacchetto java.applet uso AudioClip giocare interfacce audio. Interfaccia AudioClip definisce tre metodi:

  • gioco public void (): Fin dall'inizio, una volta giocare questa clip audio.
  • ciclo public void (): ciclo svolgere questo clip audio
  • fermata public void (): Stop un clip audio

Al fine di ottenere oggetto AudioClip, è necessario chiamare getAudioClip () della classe Applet metodo. Non importa se l'URL punta a un vero e proprio file audio, che torneranno immediatamente i risultati.

Fino a quando si desidera riprodurre un file audio, il file verrà scaricato.

I seguenti esempi dimostrano i passi per riprodurre tutto l'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();
      }
   }
}

Il seguente applet chiamata:

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

È possibile utilizzare test.wav sul computer per testare gli esempi di cui sopra.