Informática Numaboa - Tutoriais e Programação
A estrutura básica de um applet
Seg 6 Abr 2009 19:31 |
- Detalhes
- Categoria: Aprenda Java fazendo applets
- Atualização: Segunda, 06 Abril 2009 20:53
- Autor: vovó Vicki
- Acessos: 9416
Se vamos começar a trabalhar com applets, nada mais justo do que começar com a estrutura básica destas peças de software.
Normalmente um applet contém um bloco de instruções import e um bloco de declaração da classe do applet. Este último é delimitado pela chave inicial { e pela chave final }. A declaração de variáveis e os métodos que compõem a classe do applet ficam entre as chaves mencionadas.
Os quatro métodos mencionados a seguir pertencem à classe Applet da linguagem Java e podem ser substituídos para gerenciar o ciclo de existência do applet. É essencial entender tais métodos para produzir applets estáveis e "comportados".
(Declaração do pacote package) Bloco de Instruções import Declaração da classe { declaração de variáveis método init() método start() método stop() método destroy() }
Declaração do pacote package
Os pacotes servem para agrupar classes. Funcionam como se fossem um caixa onde são colocadas as variáveis e os métodos das classes, portanto, TODA CLASSE TEM UM PACOTE. A declaração package precisa ser a primeira linha sem comentário ou espaço em branco no arquivo. Exemplo:
package meuPacote;
A declaração do pacote é opcional. Se nenhum for especificado, será utilizado um pacote padrão (em geral representado pelo diretório atual).
Bloco de instruções import
O JDK (Java Development Kit) oferece um grande conjunto de classes (ao todo são 8 pacotes) para a criação de applets. Importando estes pacotes podemos utilizar todas as variáveis e métodos das classes Java nos nossos applets, economizando milhares de linhas de programação. Precisou de um método? Importe o pacote correspondente (por exemplo import java.applet.*;) ou apenas uma das classes do pacote (por exemplo import java.applet.Applet;).
Os 8 pacotes do JDK são:
- java.lang: Contém classes relacionadas ao funcionamento básico do ambiente Java como envoltórios (wrappers) para os tipos de dados básicos e strings, gerenciamento de threads, operações matemáticas, exceções, a classe System e a classe básica Object.
- java.io: Contém classes para o controle de operações de arquivos e fluxos de entrada e saída.
- java.util: Contém classes para a manipulação de datas, estrutura básica de dados (tabelas hash e pilhas), análise de strings, etc.
- java.applet: Contém a classe Applet que une o applet ao ambiente funcional correspondente (por exemplo, o de um browser), uma classe para explorar as características do navegador (browser) e algumas coisas mais.
- java.awt: O pacote AWT (Abstract Window Toolkit) fornece ferramentas simples e avançadas para controlar a interface visual de um applet: botões, campos de texto, componentes de menu, gráficos, fontes, eventos, etc.
- java.awt.image: É um sub-pacote do java.awt, bastante complexo e muito eficiente na utilização de imagens.
- java.awt.peer: Utilizado para interligar os itens do AWT à plataforma básica.
- java.awt.net: Contém as classes necessárias para programas de rede: sockets para cliente e servidor, referência a URLs, etc.
Declaração da classe Applet
A declaração da classe de um novo applet é apenas a extensão da definição da classe Applet do pacote java.applet (veja acima), ou seja, declaramos uma nova classe do "tipo Applet" que herda todas as características (variáveis e métodos) da classe original. Em outras palavras, criamos uma subclasse (nosso applet), que é a cópia fiel de uma superclasse (a classe original). A palavra-chave para "clonar" uma classe é extends. Exemplo:
public class meuApplet extends Applet { ... variáveis e métodos }
Se o método run() for substituído, a declaração da classe do novo applet precisa implementar esta característica e a declaração seria:
public class meuApplet extends Applet implements Runnable { ... variáveis e métodos }
Declaração de variáveis
O formato para a declaração de variáveis é
int i; int i = 10;
Além disto, pode-se utilizar um dos modificadores de acesso: public, private, protected ou package.
O modificador public torna uma variável acessível a qualquer classe ou método. O modificador private indica que a variável não está disponível para qualquer outra classe, com exceção daquela na qual ela aparece. O modificador protected restringe o acesso apenas às subclasses. O modificador package ou a ausência de um modificador restringe o acesso apenas às classes pertencentes ao pacote (como no exemplo acima). Para tornar a variável privada, a declaração poderia ser a seguinte:
private int i = 10;
Método init()
O método init() só é chamado quando o applet for carregado, ou seja, apenas uma vez durante seu ciclo de existência. Caso seja necessário inicializar variáveis ou configurar recursos que serão usados em todo o applet, então é aconselhável substituir este método.
Substituir um método pode significar duas coisas:
1. Trocar o método que a classe recebeu como herança da superclasse por um método próprio totalmente novo. Exemplo:
public void init() { int i = 10; ... }
2. Adicionar comportamentos ao método herdado. Para manter o método herdado utiliza-se a palavra-chave super como no exemplo:
public void init() { super.init(); int i = 10; ... }
Método start()
O método start() é chamado sempre que o documento HTML no qual reside o applet passa a ser a página ativa de um navegador. Quando um applet é executado pela primeira vez, o método start() é chamado logo depois do init(). Este método também pode ou não ser substituído. É excelente para iniciar threads e o melhor local para chamar o método show() de instâncias da classe Frame.
Método stop()
Este método é o inverso de start(), sendo chamado sempre que o usuário deixar a página na qual o applet reside. É ideal para ocultar quadros e encerrar threads.
Método destroy()
Raramente este método é substituído porque o momento em que ele é chamado é um tanto imprevisível: é o momento em que o applet é desativado - geralmente quando o navegador é fechado. É um bom lugar para a realização de algumas tarefas de limpeza.
Finalmentes
Tá parecendo grego? Então dê uma lida nos próximos tutoriais