Latest web development tutorials

fundação Java Applet

fundação Java Applet

Um applet é um programa Java. Ele geralmente é executado em um navegador da Web habilitado para Java. Porque ele tem total suporte para API Java, assim o applet é um aplicativos Java completo.

Abaixo está uma diferença importante entre os programas aplicativos Java e applet stand-alone:

  • classe applet Java herda a classe java.applet.Applet
  • classe Applet não define main (), para que o programa não exige um método Applet main (),
  • Applets são projetados para ser incorporado em uma página HTML.
  • Quando um usuário navega uma página HTML que contém o Applet, código Applet é baixado para a máquina do usuário.
  • Para exibir um applet precisa JVM. JVM pode ser um navegador da Web plug-in, ou um ambiente de tempo de execução separado.
  • máquina do usuário JVM para criar uma instância da classe applet, e chama o ciclo de vida Applet dos vários métodos.
  • Applets têm estrita regras de segurança do navegador Web applet de garantia executória é chamado de segurança sandbox.
  • Formulário de aplicação precisa outras classes pode usar o arquivo Java Archive (JAR) é baixado.

ciclo de vida Applet

classe Applet fornece quatro métodos dar-lhe um quadro, você pode ter sobre o quadro para o desenvolvimento de pequeno programa:

  • INIT: O objetivo deste método é fornecer qualquer inicialização necessária para o seu applet. Este método é chamado após as tags applet tag param é processado.
  • começar: o navegador chama o método init, que é chamada automaticamente. Sempre que o usuário retornar para a página de outras páginas que contêm o Applet, em seguida, chamar o método.
  • parar: Quando um usuário é removido da página que contém o applet, o método é chamado automaticamente. Por conseguinte, este método pode ser chamado repetidamente na mesma aplicação.
  • destruir: Este método é chamado somente quando o browser for encerrado correctamente. Porque applets após válida apenas na página HTML, para que você não deve ser no usuário deixa a página que contém a falta Applet quaisquer recursos.
  • pintura: Este método é chamado imediatamente após o método start (), ou aplicação precisa ser redesenhado quando o navegador chama. paint () método realmente herdado de java.awt.

"Olá, mundo" Applet:

Aqui é um simples HelloWorldApplet.java programa Applet:

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

Estas declarações importar os seguintes classes em nossa classe applet:

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

Sem estas declarações de importação, compilador Java não vai reconhecer as classes do applet e gráficos.


classe Applet

Cada subclasse aplicação das classes Applet são classe base java.applet.Applet fornece um método para as chamadas classe derivada, a fim de obter informações e serviços de contexto do navegador.

Estes métodos fazer as seguintes coisas:

  • Obter os parâmetros de applet
  • Obter a localização de rede que contém o arquivo HTML do applet
  • Obter rede local do diretório classe da aplicação
  • informações de status do navegador de impressão
  • Obter uma imagem
  • Obtém um clipe de áudio
  • Jogar um clipe de áudio
  • Redimensionar o applet

Além disso, a classe Applet também fornece uma interface que, para Applet Viewer ou um navegador para obter informações e para controlar a execução do applet.

Visualizador pode ser:

  • Pedido applet de autor, versão e informações de copyright
  • Pedido de inscrição applet de identificação de parâmetros
  • applet de inicialização
  • applet de destruição
  • Comece miniaplicativo
  • aplicação de final de execução

classe Applet fornece uma implementação padrão desses métodos, estes métodos podem ser substituídos quando necessário.

"Olá, mundo" miniaplicativo são preparados de acordo com a norma. A única maneira de ser substituído método de pintura.


chamada Applet

Um applet é um programa Java. Ele geralmente é executado em um navegador da Web habilitado para Java. Porque ele tem total suporte para API Java, assim o applet é um aplicativos Java completo.

tag <Applet> é miniaplicativo com base incorporado em um arquivo HTML. O seguinte é uma chamada para "Olá Mundo" exemplo do 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: Você pode se referir a HTML Applet tag para saber mais sobre a chamada de método do applet do HTML.

Propriedades <applet> tag especifica a classe Applet para ser executado. Largura e altura utilizada para especificar o tamanho inicial do applet para executar o painel. miniaplicativo deve usar o <applet /> tag para fechar.

Se o applet aceita parâmetros, então o valor do parâmetro necessário Adicionar tags, o tag está localizado no <applet> e </ applet> between. Navegadores ignorar o texto e outras tags etiquetas de applet.

Não suporta navegador Java não pode executar <applet> e </ applet>. Portanto, entre a etiqueta e a relação de exibição do applet e nada, sem o apoio de navegador Java é visível.

Viewer ou do navegador para encontrar o local no código Java documento compilado, para especificar o caminho do documento, tem que usar <applet> atributo base de código especifica o tag.

Como se segue:

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

Se o applet em um pacote em vez do pacote padrão, o pacote deve ser especificado no código onde a propriedade onde, por exemplo:

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

Obter parâmetros de applet

O exemplo a seguir demonstra como usar uma resposta applet para definir os parâmetros especificados no arquivo. O Applet mostra um padrão xadrez preto e uma segunda cor.

A segunda cor eo tamanho de cada coluna especificada pelos parâmetros do applet no documento.

CheckerApplet obter seus parâmetros no método init () dentro. Você também pode obter seus parâmetros no método paint () dentro. No entanto, no applet começar a receber valor e salvar as configurações, em vez de quando eles são atualizados cada vez que obter o valor, por isso é conveniente e eficiente.

visualizador de applet ou navegador quando o applet é executado a cada chamada de método init (). Depois de carregar o applet, Visualizador imediatamente chamar método init () (Applet.init () não fez nada), substituir a implementação padrão deste método, adicionar algum código de inicialização personalizado.

Método Applet.getParameter () é dado pelo valor do parâmetro nome do parâmetro obtido. Se o valor obtido é um número ou outros dados que não são caracteres, você deve resolver para um tipo de cadeia.

O exemplo a seguir é CheckerApplet.java Sinopse:

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

Aqui é o método CheckerApplet classe init () e o 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) {
     // 保留默认值
   }
}

O parseSquareSize chamada do applet (), para resolver os parâmetros squareSize. parseSquareSize () método chama o Integer biblioteca. parseInt (), que irá analisar uma string para um inteiro, quando o parâmetro não é válido quando, Integer.parseInt () lança uma exceção.

Portanto, parseSquareSize () método também capturar a exceção, eo applet não é permitido para aceitar a entrada inválida.

chamada Applet parseColor () método do parâmetro de cor resolve para um valor Cor. parseColor método () foram comparadas uma série de cordas para coincidir com o valor do parâmetro e um nome de cor predefinido. Você precisa implementar esses métodos para fazer funcionar o applet.


Especificar parâmetros de applet

O exemplo a seguir é um arquivo HTML que incorpora classe CheckerApplet. arquivo HTML usando Método tag applet para especificar os dois 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: Os nomes dos parâmetros não são maiúsculas de minúsculas.


Aplicações em Applet

As aplicações Java gráficas (refere-se ao uso de programas aplicativos e lançadores programa de uso java AWT) em incorporado na página web onde o applet é muito simples.

A seguir estão alguns passos para converter a aplicação em um applet:

  • Escrever uma página HTML que pode ser carregado com o código da tag applet.
  • Escrever uma subclasse JApplet, a classe é definido como público. Caso contrário, applet não pode ser carregado.
  • Eliminar a aplicação do método main (). Não construir a estrutura para a janela do aplicativo porque o aplicativo a ser exibido no navegador.
  • A janela de quadro do aplicativo construtor onde o código de inicialização para o método do applet init (), o objeto applet de configuração que você não exibir o navegador chamando o método init () para instanciar um objeto.
  • Remover a chamada para o método setSize (), o applet está em causa, o tamanho foi configurado pelo arquivo HTML nos parâmetros largura e altura.
  • Remover a chamada para o método setDefaultCloseOperation (). Applet não pode ser fechada, à medida que sai do navegador é encerrado.
  • Se o aplicativo chama o método setTitle (), a eliminação de chamar esse método. applet não pode ter uma barra de título. (Claro, você pode dar através da tag title html para a página em si é chamado)
  • Não chame setVisible (true), applet é exibida automaticamente.

Processamento de eventos

classe Applet herda uma série de método manipulador de eventos da classe Container. classe de recipiente define uma série de métodos, tais como: processKeyEvent () e processMouseEvent (), para lidar com certos tipos de eventos, existe um método para capturar todos os eventos de chamadas processEvent.

Em resposta a um evento, miniaplicativo deve substituir o método manipulador de eventos apropriado.

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

Chamar o seguinte applet:

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

A maioria começou a correr, exibição do applet "inicializar o applet. Iniciando o applet.", E então você clica em um retângulo, ele irá mostrar "rato clicado".


imagens de exibição

applet pode exibir GIF, JPEG, BMP e outros formatos de imagem. Para exibir fotos no applet, você precisa usar drawImage () método de classe java.awt.Graphics.

Os exemplos seguintes demonstram todos os passos para mostrar imagens:

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

Chamar o seguinte 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>

reproduzir áudio

Applet através do pacote java.applet uso AudioClip jogar interfaces de áudio. interface de AudioClip define três métodos:

  • jogo public void (): Desde o início, uma vez desempenhar este clipe de áudio.
  • laço public void (): loop de desempenhar este clipe de áudio
  • parada public void (): Pare um clipe de áudio

A fim de obter AudioClip objeto, você deve chamar getAudioClip) class método Applet (. Não importa se o URL aponta para um arquivo de áudio real, que irá retornar os resultados imediatamente.

Até que você quer jogar um arquivo de áudio, o arquivo será baixado.

Os exemplos a seguir demonstram os passos para reproduzir todo o áudio:

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

O applet seguinte chamada:

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

Você pode usar test.wav no seu computador para testar os exemplos acima.