Boa tarde colegas,
estou testando o atributo ARCHIVE="file.jar" do tag APPLET, mas estou com
algumas duvidas. Que tipos de files sao procurados dentro do arquivo ".jar"
? O arquivo ".jar" e' carregado de uma vez todo junto ? Em que momento e'
carregado ?
Eu imaginei uma aplicacao simples, um applet (ImageDisplayer) que mostra
uma imagem qualquer (rocketship.gif). Imaginei colocar a imagem e o applet
no ".jar", para carregar eles compactados e juntos.
O TAG:
-----
<applet CODE="ImageDisplayer.class" ARCHIVE="ImageDisplayer.jar"
WIDTH="300" HEIGHT="300">
O Applet:
--------
import java.awt.*;
public class ImageDisplayer extends java.applet.Applet {
Image myImage;
public void init () {
myImage = this.getImage (this.getCodeBase(),"rocketship.gif");
}
public void paint (Graphics g) {
g.drawImage (myImage, 0,0,this);
}
}
O JAR:
-----
C:\Jdk\Jdk1.2.2\Testes>jar -tvf ImageDisplayer.jar
784 Wed Oct 13 16:01:20 GMT-02:00 1999 ImageDisplayer.class
1705 Wed Oct 13 14:11:32 GMT-02:00 1999 rocketship.gif
C:\Jdk\Jdk1.2.2\Testes>
Observacao:
----------
Usando JDK 1.2.2, NetScape 4.51 e tambem o appletviewer, tudo em plataforma
W95.
O que fiz:
---------
Para verificar que apenas pegue os arquivos que se encontram no ".jar",
deletei os files "rocketship.gif" e "ImageDisplayer.class". Observem o
conteudo do diretorio apos a delecao:
C:\Jdk\Jdk1.2.2\Testes>dir
Volume in drive C has no label
Volume Serial Number is 0E57-14E4
Directory of C:\Jdk\Jdk1.2.2\Testes
. <DIR> 04/10/99 11:08 .
.. <DIR> 04/10/99 11:08 ..
IMAGED~1 HTM 460 13/10/99 13:15 ImageDisplayer.html
IMAGED~1 JAV 333 13/10/99 15:00 ImageDisplayer.java
IMAGED~1 JAR 2.454 13/10/99 15:08 ImageDisplayer.jar
3 file(s) 3.247 bytes
2 dir(s) 122.650.624 bytes free
C:\Jdk\Jdk1.2.2\Testes>
Resultado:
---------
O applet e' procurado dentro do arquivo ".jar" , carregado e executado
corretamente. Porem, a imagem nao aparece na tela (tambem nao aparece
nenhuma mensagem de erro no Java Console). Eu imaginei que a imagem
"rocketship.gif" tambem seria procurada dentro do arquivo ".jar" quando
executada a linha:
myImage = this.getImage (this.getCodeBase(),"rocketship.gif");
mas isto nao acontece. Sera que deveria colocar um URL especial ? Qual ?
Sera que o atributo ARCHIVE serve apenas para procurar o Applet ? Se
coloco outras ".class" no ".jar" elas serao procuradas e carregadas sem
problemas? O que acontece com as imagens (sons, etc) ?
Grato pela colaboracao de todos,
Daniel
* Para nao receber mais e-mails da lista, acesse
<http://www.sun.com.br:8080/guest/RemoteAvailableLists>, coloque seu e-mail, escolha a
lista <[EMAIL PROTECTED]> e de um <submit>.