Usar jar em applets- publicar arquivo jar

quero colocar arquivos jar em applets… alguem tem experiencia com isto?

esta dando problemas… se tiver uma luz, posso evitar problemas aqui.

basicamente tenho a chamada applet

no html

e tenho o bingo.jar

mas sei que precisa um class, este class, tem várias repetições, bingo_novo_frame1… 2 … 3 …4 …5 etc até 21, .class da mesma classe.

nao sei se o problema é só este. valeu.

www.raghyjose.net/bingoapplet.html

onde faço os testes.

estou obtendo isto

java.lang.NoClassDefFoundError: PokerOne_1 (wrong name: pokerone/PokerOne_1)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadCode(Unknown Source)
at sun.plugin2.applet.Plugin2Manager.createApplet(Unknown Source)
at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Exception: java.lang.NoClassDefFoundError: PokerOne_1 (wrong name: pokerone/PokerOne_1

e o jar está na chamada tambem

</HTML

A partir do Java 5.0 o atributo “code” da tag recebe o nome completo da classe, sem a extensão .class. Por exemplo, se o nome da sua classe é “br.com.exemplo.Macazinha”, então você teria de usar , não code = “Macazinha.class”.

(Applet = maçãzinha em inglês)

ok vou tentar sem o class… o br.com.exemplo é o pacote no caso ?

o problema agora ta sendo o caminho das imagens, ja troquei mas continua…

Java Plug-in 1.6.0_13
Using JRE version 1.6.0_13 Java HotSpot™ Client VM
User home directory = C:\Documents and Settings\raghyjose

c: clear console window
f: finalize objects on finalization queue
g: garbage collect
h: display this help message
l: dump classloader list
m: print memory usage
o: trigger logging
q: hide console
r: reload policy configuration
s: dump system and deployment properties
t: dump thread list
v: dump thread stack
x: clear classloader cache
0-5: set trace level to

java.security.AccessControlException: access denied (java.io.FilePermission C://imagensmemoria/estrela1.gif read)
at java.security.AccessControlContext.checkPermission(Unknown Source)
at java.security.AccessController.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkRead(Unknown Source)
at sun.awt.SunToolkit.getImageFromHash(Unknown Source)
at sun.awt.SunToolkit.getImage(Unknown Source)
at javax.swing.ImageIcon.(Unknown Source)
at javax.swing.ImageIcon.(Unknown Source)
at pacotememoria.Main_1_1.(Main_1_1.java:71)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at java.lang.Class.newInstance0(Unknown Source)
at java.lang.Class.newInstance(Unknown Source)
at sun.plugin2.applet.Plugin2Manager.createApplet(Unknown Source)
at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Exception: java.security.AccessControlException: access denied (java.io.FilePermission C://imagensmemoria/estrela1.gif read)
java.security.AccessControlException: access denied (java.io.FilePermission C://imagensmemoria/estrela1.gif read)
at java.security.AccessControlContext.checkPermission(Unknown Source)
at java.security.AccessController.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkRead(Unknown Source)
at sun.awt.SunToolkit.getImageFromHash(Unknown Source)
at sun.awt.SunToolkit.getImage(Unknown Source)
at javax.swing.ImageIcon.(Unknown Source)
at javax.swing.ImageIcon.(Unknown Source)
at pacotememoria.Main_1_1.(Main_1_1.java:71)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at java.lang.Class.newInstance0(Unknown Source)
at java.lang.Class.newInstance(Unknown Source)
at sun.plugin2.applet.Plugin2Manager.createApplet(Unknown Source)
at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Exception: java.security.AccessControlException: access denied (java.io.FilePermission C://imagensmemoria/estrela1.gif read)
java.security.AccessControlException: access denied (java.io.FilePermission C://imagensmemoria/estrela1.gif read)
at java.security.AccessControlContext.checkPermission(Unknown Source)
at java.security.AccessController.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkRead(Unknown Source)
at sun.awt.SunToolkit.getImageFromHash(Unknown Source)
at sun.awt.SunToolkit.getImage(Unknown Source)
at javax.swing.ImageIcon.(Unknown Source)
at javax.swing.ImageIcon.(Unknown Source)
at pacotememoria.Main_1_1.(Main_1_1.java:71)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at java.lang.Class.newInstance0(Unknown Source)
at java.lang.Class.newInstance(Unknown Source)
at sun.plugin2.applet.Plugin2Manager.createApplet(Unknown Source)
at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Exception: java.security.AccessControlException: access denied (java.io.FilePermission C://imagensmemoria/estrela1.gif read)

A menos que você assine sua applet, você não pode acessar arquivos diretamente. Você pode puxar recursos de sua applet que estão, por exemplo, dentro do JAR.

E de qualquer maneira você não pode botar diretórios no seu applet, porque você não sabe se o cara que vai rodar sua applet tem um diretório “C://imagensmemoria/” - provavelmente não, não acha? Pode ser até que não esteja rodando Windows (pode ser Linux ou Mac), então não vai ter nem um drive C: :frowning:

acho que vc entendeu, tenho um jar e quero por na web…

este jogo esta em

www.raghyjose.net/memoria.php

sim quanto ao c, eu ja entendi, como disse… isso estava funcionando para o jar desktop que da de baixar no endereço acima, se vc quiser conhecer o jogo e o projeto

agora eu quero que rode diretamente da applet…

e ja mudei no arquivo java o caminho, para a pasta imagens memoria, diretamente…

limpei construi, reenviei os arquivos, mas esta igual

Vou explicar mais ou menos. Para você pegar uma imagem em uma applet, você tem 2 opções:
a) Ou ela está dentro do JAR, ou
b) Ela está no mesmo diretório ou então em um subdiretório em que está a applet.

Nesses 2 casos você não passa um nome de arquivo, mas sim um “resource” ou uma URL relativa. Procure mais na Internet sobre como pegar imagens dentro de applets. As vantagens de você fazer assim desse jeito que lhe falei são:

a) Você não precisa assinar a applet
b) Você não precisa ter um milhão de arquivos espalhados - só o JAR
c) Se o applet já estiver no cache do browser, então a imagem vem rapidinho porque também estará no cache.

bem agradeço sua atenção.

agora eu estou obtendo este erro

java.security.AccessControlException: access denied (java.io.FilePermission estrela1.gif read) at java.security.AccessControlContext.checkPermission(Unknown Source) at java.security.AccessController.checkPermission(Unknown Source) at java.lang.SecurityManager.checkPermission(Unknown Source) at java.lang.SecurityManager.checkRead(Unknown Source) at sun.awt.SunToolkit.getImageFromHash(Unknown Source) at sun.awt.SunToolkit.getImage(Unknown Source) at javax.swing.ImageIcon.<init>(Unknown Source) at javax.swing.ImageIcon.<init>(Unknown Source) at pacotememoria.Main_1_1.<init>(Main_1_1.java:71) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) at java.lang.reflect.Constructor.newInstance(Unknown Source) at java.lang.Class.newInstance0(Unknown Source) at java.lang.Class.newInstance(Unknown Source) at sun.plugin2.applet.Plugin2Manager.createApplet(Unknown Source) at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source) at java.lang.Thread.run(Unknown Source) Exception: java.security.AccessControlException: access denied (java.io.FilePermission estrela1.gif read)

e no meu arquivo a chamada para as imagens está:

 ImageIcon imagem1 = new ImageIcon("estrela1.gif");
    ImageIcon imagem1_1 = new ImageIcon("estrela2.gif");
    ImageIcon imagem2 = new ImageIcon("rosto1.gif");
    ImageIcon imagem2_2 = new ImageIcon("rosto2.gif");
    ImageIcon imagem3 = new ImageIcon("seta1.gif");
    ImageIcon imagem3_3 = new ImageIcon("seta2.gif");
    ImageIcon imagem4 = new ImageIcon("conector1.gif");
    ImageIcon imagem4_4 = new ImageIcon("conector2.gif");
    ImageIcon imagem5 = new ImageIcon("forma1.gif");
    ImageIcon imagem5_5 = new ImageIcon("forma2.gif");
    ImageIcon imagem6 = new ImageIcon("rosca1.gif");
    ImageIcon imagem6_6 = new ImageIcon("rosca2.gif");
    ImageIcon imagem7 = new ImageIcon("espiral1.gif");
    ImageIcon imagem7_7 = new ImageIcon("espiral2.gif");
    ImageIcon imagem8 = new ImageIcon("leme1.gif");
    ImageIcon imagem8_8 = new ImageIcon("leme2.gif");
    ImageIcon imagem9 = new ImageIcon("quadrado1.gif");
    ImageIcon imagem9_9 = new ImageIcon("quadrado2.gif");
    ImageIcon imagem10 = new ImageIcon("poligono1.gif");
    ImageIcon imagem10_10 = new ImageIcon("poligono2.gif");
    ImageIcon jogodememoria = new ImageIcon("jogodememoria.gif");

e no html está assim:

<applet code="pacotememoria/Main_1_1" archive="Memoria_Jogo.jar"     width=800 height=600    >

</applet>

no diretorio coloquei tudo em uma pasta memoria. e depois também com um pacotememoria, contendo o ‘Main_1_1.class’. tudo que me refiro é o jar, o main1_1 e as imagens…

não estou obtendo êxito.

Java Plug-in 1.6.0_13
Using JRE version 1.6.0_13 Java HotSpot™ Client VM
User home directory = C:\Documents and Settings\raghyjose

c: clear console window
f: finalize objects on finalization queue
g: garbage collect
h: display this help message
l: dump classloader list
m: print memory usage
o: trigger logging
q: hide console
r: reload policy configuration
s: dump system and deployment properties
t: dump thread list
v: dump thread stack
x: clear classloader cache
0-5: set trace level to

java.lang.NullPointerException
at javax.swing.ImageIcon.(Unknown Source)
at pacotememoria.Main_1_1.(Main_1_1.java:96)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at java.lang.Class.newInstance0(Unknown Source)
at java.lang.Class.newInstance(Unknown Source)
at sun.plugin2.applet.Plugin2Manager.createApplet(Unknown Source)
at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Exception: java.lang.NullPointerException

agora estou obtendo isto

em alguns casos:

java.security.AccessControlException: access denied (java.io.FilePermission estrela1.gif read)
at java.security.AccessControlContext.checkPermission(Unknown Source)
at java.security.AccessController.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkRead(Unknown Source)
at sun.awt.SunToolkit.getImageFromHash(Unknown Source)
at sun.awt.SunToolkit.getImage(Unknown Source)
at javax.swing.ImageIcon.(Unknown Source)
at javax.swing.ImageIcon.(Unknown Source)
at pacotememoria.Main_1_1.(Main_1_1.java:71)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at java.lang.Class.newInstance0(Unknown Source)
at java.lang.Class.newInstance(Unknown Source)
at sun.plugin2.applet.Plugin2Manager.createApplet(Unknown Source)
at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Exception: java.security.AccessControlException: access denied (java.io.FilePermission estrela1.gif read)

Voce pode utilizar

new ImagenIcon(getClass().getResource("/caminho/completo/da/minha/imagen/dentro/do/jar/imagen.gif"))

se estiver empacotando as imagens junto do jar.