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>.

Responder a