Applets – Princípios Gerais
A popularidade do Java deve-se sobretudo, à sua utilização no âmbito da World Wide Web. Desde o aparecimento dos primeiros browsers com capacidade de interpretação Java, que a comunidade Internet aderiu de forma entusiástica à linguagem.
Applets são pequenos programas que são executados em páginas Web, com capacidades gráficas e interativas bastante fortes aliada ao facto de ser uma das formas mais seguras de executar localmente, programas distribuídos através da Web.
Ao ser realizado o acesso a uma página com tendo uma applet, é carregado o ficheiro binário que contém essa applet, sendo em seguida executado na máquina onde reside o browser, as applets não têm acesso de escrita ao sistema de ficheiros da máquina local e nem podem executar programas ou carregar bibliotecas residentes nesta.
Criar uma applet
Para criar um applet, é criada uma subclasse de uma classe existente na biblioteca “java.applet”, chamada “java.applet.Applet”. nesta classe está definido o comportamento desta e a capacidade de reagir perante o rato e o teclado.
Na criação de applets não existe o método main() logo existe um conjunto de métodos que representam as fases mais importante da vida de um applet, o código só será executado quando a applet estiver no estado correspondente:
· Inicialização – Fase em que a applet é pela primeira vez carregada. Nesta fase podem ser realizadas acções, tais como: criação de objetos, inicialização de variáveis, etc. O método correspondente a este estado é o init(). Uma applet passa por este estado apenas uma vez.
· Começar – Ocorre logo a seguir ao anterior ou depois da applet ter sofrido uma paragem. Ao contrário da fase anterior, uma applet pode passar várias vezes por esta fase. O método correspondente é o start().
· Parar – Esta fase implica uma paragem na execução da applet. É muitas vezes utilizada em conjunto com o estado começar, para certos tipos de comportamentos. O método correspondente é o stop().
· Destruir – Este é o Estado terminal de uma applet. O método correspondente é o destroy().
Para criar comportamentos, é necessário reescrever os métodos (Override). Para tal basta declarar os métodos no interior das applets, tendo o cuidado de os declarar como public, por exemplo para declarar o comportamento inicial de uma applet:
public void init() {
/* código de definição de comportamento
. . .
}
Applets e páginas Web
Dentro de uma página Web, a declaração de uma applet inicia-se com a tag <applet>, acrescentada ao HTML e assim permitir a incorporação de objetos Java.
Dentro desta está um parâmetro code (que vai conter o nome do ficheiro “.class” correspondente à applet). E podem estar alguns parâmetros que definem particularidades acerca do comportamento da applet na página Web. Exemplos desses parâmetros são widht (Largura em pixels) e height (Largura em pixels) da área ocupada pela applet na página.
Os parâmetros a passar para o interior da applet são fixados com a tag <param>, que aceita com argumentos o nome dos parâmetros (name) e o seu valor (value).
Exemplo de integração de uma applet dentro de HTML:
<html>
<head>
<title>A minha applet</title>
</head>
<body>
<applet code = “teste1.class” widht=”250” height”50” allign=left”>
</applet>
</body>
</html>
Parâmetros passados às applets
Os parâmetros passados às applets são identificados por um nome e por um valor, a sintaxe é a seguinte:
<applet . . .>
<param var1 value =”valor1”>
<param var1 value =”valor2”>
. . .
<param var1 value =”valor1”>
</applet>
O valor passado é recebido pela applet, no interior do método init(), sendo para tal chamado pelo método getParameter(), que aceita como argumento o nome da variável a passar (sempre uma string)
Vejamos o exemplo de uma applet com passagem de parâmetros:
import java.awt.Graphics;
public class Teste2 extendes java.applet.Applet {
String frase;
/* obter a linha a passar para o ecrã */
public void init() {
frase= getParameter(“texto”);
}
public void paint (Graphics g) {
g.drawstring(frase,10,25);
}
}
A string a enviar para o ecrã é passada por intermédio da variável frase, que toma o valor do parâmetro de nome texto por execução do método getParameter().
Eis o respectivo código HTML:
<html>
<head>
<title>Applet com parâmetros</title>
</head>
<body>
<applet code = “Teste2.class” widht=”200” height”50” >
<param name=”texto” value =”Esta applet recebe e mostra esta string”>
</applet>
</body>
</html>
Construção de applets
Vejamos o exemplo de uma applet que permita mostrar os diversos estados de uma applet. Para tal vamos reescrever os principais métodos da classe “Applet” e observar como ocorrem as transições entre eles.
/* Applet de demonstração dos estados applet*/
import java.awt.Graphics;
import java.applet.Applet;
public class Estados extends Applet {
StringBuffer estado = new StringBuffer();
/* Método acrescentar estado */
public void acrescenta (String frase) {
estado.append(frase);
}
/* estado init */
public void init() {
acrescenta("inicializa ...");
}
/* estado start */
public void start() {
acrescenta("começa ...");
}
/* estado stop */
public void stop() {
acrescenta("para ...");
}
/* estado destroy */
public void destroy() {
acrescenta("termina ...");
}
/* método paint */
public void paint (Graphics g) {
g.drawString(estado.toString(),5,15);
}
}