Latest web development tutorials

Fundación Java Applet

Fundación Java Applet

Un applet es un programa Java. Generalmente se ejecuta en un navegador web compatible con Java. Debido a que tiene soporte completo para Java API, por lo que el applet es una aplicación con todas las funciones de Java.

A continuación se muestra una diferencia importante entre los programas de aplicación Java y applets independientes:

  • clase applet de Java hereda la clase java.applet.Applet
  • clase Applet no define main (), por lo que el programa no llama a un método Applet principal (),
  • Los applets están diseñados para ser incorporado en una página HTML.
  • Cuando un usuario navega por una página HTML que contiene el applet, el código de applet es descargado en la máquina del usuario.
  • Para ver un applet necesita JVM. JVM puede ser un navegador web plug-in o un entorno de ejecución separada.
  • máquina del usuario JVM para crear una instancia de la clase del applet, y llama al ciclo de vida del applet de los distintos métodos.
  • Los applets tienen estrictas normas de seguridad del navegador Web applet de seguridad exigibles se llama la seguridad caja de arena.
  • Forma del applet necesita otras clases pueden usar el archivo Java Archive (JAR) se descarga.

ciclo de vida del applet

clase Applet proporciona cuatro métodos que dan un marco, puede estar en el marco para el desarrollo de pequeño programa:

  • init: El propósito de este método es el de proporcionar cualquier inicialización necesaria para el applet. Este método se llama después de las etiquetas applet etiqueta param se procesa.
  • pone en marcha: el navegador llama al método init, que se llama de forma automática. Cada vez que el usuario vuelve a la página desde otras páginas que contiene el applet, a continuación, llamar al método.
  • parada: Cuando un usuario se elimina de la página que contiene el applet, el método es llamado automáticamente. Por lo tanto, este método puede ser llamado varias veces en el mismo applet.
  • destruir: Este método se llama sólo cuando el navegador se cierra correctamente. Debido a que los applets después sólo es válido en la página HTML, por lo que no deberían estar en el usuario abandona la página que contiene el applet se pierda ningún recurso.
  • pintura: Este método es llamado inmediatamente después de que el método start (), o un applet necesita ser redibujado cuando el navegador llama. método paint () en realidad heredada de java.awt.

"Hola, mundo" Applet:

Aquí es un simple programa de 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);
   }
}

Estas declaraciones de importación las siguientes clases en nuestra clase del applet:

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

Sin estas declaraciones de importación, compilador Java no reconocerá clases Applet y Graphics.


clase Applet

Cada subclase Applet de clases Applet son clase base java.applet.Applet proporciona un método para las llamadas clases derivadas, con el fin de obtener información y servicios contexto navegador.

Estos métodos hacen las siguientes cosas:

  • Obtener los parámetros del applet
  • Obtener ubicación de red que contiene el archivo HTML del applet
  • Obtener directorio de la clase applet de ubicación de red
  • información de estado del navegador Imprimir
  • Obtener una imagen
  • Obtiene un clip de audio
  • Juega un clip de audio
  • Cambiar el tamaño del applet

Además, la clase Applet también proporciona una interfaz que para AppletViewer o un navegador para obtener información y para controlar la ejecución del applet.

Visor puede ser:

  • Solicitud autor applet, versión y copyright
  • Descripción Solicitud applet de identificación de parámetros
  • applet de inicialización
  • applet de destrucción
  • Comience subprograma
  • Fin ejecución del applet

clase Applet proporciona una implementación por defecto de estos métodos, estos métodos se puede reemplazar cuando sea necesario.

"Hola, mundo" subprograma se preparan de acuerdo con la norma. La única manera de ser anulado método de pintura.


llamada Applet

Un applet es un programa Java. Generalmente se ejecuta en un navegador web compatible con Java. Debido a que tiene soporte completo para Java API, por lo que el applet es una aplicación con todas las funciones de Java.

etiqueta <applet> es subprograma basado incrustado en un archivo HTML. La siguiente es una llamada a "Hello World" applet de ejemplo;

<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: Puede referirse a la etiqueta HTML Applet para aprender más sobre el applet llamado método del HTML.

Propiedades <applet> especifica la clase Applet para funcionar. Anchura y altura utilizan para especificar el tamaño inicial del applet para ejecutar el panel. subprograma debe utilizar la etiqueta </ ​​applet> para cerrar.

Si el applet acepta parámetros, entonces el valor del parámetro requerido Añadir etiquetas, la etiqueta se encuentra en <applet> y </ applet> medio. Los navegadores ignoran el texto y otros tags etiquetas applet.

No es compatible con Java del navegador no puede ejecutar <applet> y </ applet>. Por lo tanto, entre la etiqueta y la relación de visualización del applet y nada, sin el apoyo del navegador Java es visible.

Espectador o el navegador para encontrar la ubicación en el código Java compilado documento, para especificar la ruta del documento, tiene que utilizar <applet> atributo codebase especifica la etiqueta.

En la siguiente manera:

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

Si el applet en un paquete en lugar del paquete por defecto, el paquete se deben especificar en el código donde la propiedad donde, por ejemplo:

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

Obtener parámetros del applet

El siguiente ejemplo muestra cómo utilizar una respuesta applet para establecer los parámetros especificados en el archivo. El applet muestra un patrón de tablero de ajedrez negro y un segundo color.

El segundo color y el tamaño de cada columna especificada por los parámetros de la applet en el documento.

CheckerApplet obtener sus parámetros de método init () en su interior. También puede obtener sus parámetros en la pintura () método en el interior. Sin embargo, en el applet comienza a recibir el valor y guardar la configuración, en lugar de cuando se actualizan cada vez que obtener el valor, por lo que es conveniente y eficiente.

visor de applets o el navegador cuando el applet se ejecuta cada método llamado init (). Después de cargar el applet, Visor de llamar inmediatamente método init () (Applet.init () no hizo nada), sustituir la implementación predeterminada de este método, añadir un poco de código de inicialización personalizado.

Applet.getParameter método () viene dada por el valor del parámetro Nombre del parámetro obtenido. Si el valor obtenido es un número u otros datos que no son de carácter, que se deben resolver para un tipo de cadena.

El siguiente ejemplo es CheckerApplet.java Sinopsis:

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

Aquí es CheckerApplet método init de la clase () y el método parseSquareSize privada ():

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

El parseSquareSize llamada de subprograma (), para resolver los parámetros squareSize. parseSquareSize () llama al método entero biblioteca. parseInt (), que analiza una cadena a un entero, cuando el parámetro no es válido cuando, Integer.parseInt () lanza una excepción.

Por lo tanto, el método parseSquareSize () también detectar la excepción, y el applet no se le permite aceptar la entrada no válida.

método llamado Applet parseColor () del parámetro de color se expresa como un valor de color. método parseColor () se compararon una serie de cadenas para que coincida con el valor del parámetro y un nombre de color predefinido. Es necesario poner en práctica estos métodos para hacer que el applet.


Especificar parámetros del applet

El siguiente ejemplo es un archivo HTML que se incluye la clase CheckerApplet. archivo HTML utilizando Método etiqueta applet para especificar los dos parámetros.

<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: Los nombres de los parámetros no distinguen entre mayúsculas y minúsculas.


Aplicaciones en Applet

Las aplicaciones gráficas de Java (se refiere a la utilización de programas de aplicación y uso lanzador del programa Java AWT) en incrustado en la página web en la que el applet es muy simple.

Los siguientes son unos pocos pasos para convertir la aplicación en un applet:

  • Escribe una página HTML que se puede cargar con el código de la etiqueta applet.
  • Escribe una subclase JApplet, la clase se establece en público. De lo contrario, applet no puede ser cargado.
  • Eliminar la aplicación del método main (). No construir el marco de la ventana de aplicación porque la aplicación que se mostrará en el navegador.
  • La ventana de marco de aplicación del constructor en el que el código de inicialización con el método del applet init (), el objeto applet de configuración que no se vea el navegador mediante una llamada al método init () para crear una instancia de un objeto.
  • Retire la llamada al método setSize (), el applet se refiere, el tamaño se ha establecido por el archivo HTML en los parámetros de anchura y altura.
  • Retire la llamada al método setDefaultCloseOperation () para. Applet no se puede cerrar, a medida que sale el navegador se termina.
  • Si la aplicación llama al método setTitle (), la eliminación de llamar a este método. applet no puede tener una barra de título. (Por supuesto, se puede dar a través de la etiqueta del título HTML para la página en sí se llama)
  • No llame setVisible (verdadero), se muestra automáticamente applet.

Procesamiento de Eventos

clase Applet hereda una serie de manejador de eventos de la clase Container. clase de contenedor define varios métodos, tales como: processKeyEvent () y processMouseEvent (), para manejar los tipos particulares de eventos, hay un método para capturar todos los eventos denominados procesarEvento.

En respuesta a un evento, subprograma debe reemplazar el método controlador de eventos correspondiente.

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

Llame a la siguiente applet:

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

La mayoría empezó a correr, pantalla applet de "inicializar el applet. A partir del applet.", Y luego hace clic en un rectángulo, se mostrará "ratón hace clic".


Para mostrar las imágenes

applet puede mostrar GIF, JPEG, BMP y otros formatos de imagen. Para ver las imágenes en el applet, es necesario utilizar drawImage () de la clase java.awt.Graphics.

Los siguientes ejemplos muestran todos los pasos para mostrar las imágenes:

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

Llame a la siguiente 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 a través del paquete java.applet uso Audioclip jugar interfaces de audio. AudioClip interfaz define tres métodos:

  • juego public void (): Desde el principio, una vez reproducir este clip de audio.
  • public void loop (): Bucle de ver este clip de audio
  • public void stop (): para un clip de audio

Con el fin de obtener AudioClip objeto, debe llamar getAudioClip () método de clase Applet. No importa si las URL apunta a un archivo de audio reales, que devolverá los resultados inmediatamente.

Hasta que desea reproducir un archivo de audio, se descargará el archivo.

Los siguientes ejemplos muestran los pasos para reproducir todo el 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();
      }
   }
}

El siguiente applet llamada:

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

Puede utilizar test.wav en el equipo para probar los ejemplos anteriores.