Ir ao conteúdo

Problema com applets(Eclipse)


jpx

Posts recomendados

Postado

Comecei a estudar applets mas me deparei com um problema.

Os exemplos que estão no cd do meu livro funcionam pelo navegador, mas quando eu crio um applet pelo Eclipse e tento executa-lo pelo navegador ele não funciona, somente pelo proprio Eclipse. Testei no Bluej o mesmo applet que eu criei no Eclipse e funcionou.

O .class da classe:

package applets;

import javax.swing.JApplet;
import javax.swing.JOptionPane;
import java.awt.Graphics;

public class AppletTest1 extends JApplet
{
public void paint(Graphics g)
{
super.paint(g);

g.drawString("applet", 25, 25);
}
}

O arquivo html criado para executar o applet

<html>
<applet code = "AppletTest1.class" width = "100" height = "100">
</applet>
</html>

O erro que aparece no navegador:

java.lang.NoClassDefFoundError: AppletTest1 (wrong name: applets/AppletTest1)

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: AppletTest1 (wrong name: applets/AppletTest1)

Todos os arquivos estão na mesma pasta.

Tentei colocar applets., applets/, applets\ antes de AppletTest1.class no codigo html mas nada funciona, achava que era esse o erro.

  • Membro VIP
Postado

Olá fex.

Creio que isto ocorra porque você está colocando tudo na mesma pasta. Como esta classe está em um pacote (o pacote applets), o correto seria você deixar o arquivo .class em uma pasta chamada applets e e referenciá-lo como

Code="applets/AppletTest1.class"

Ou seja, você coloca o .hml em C:\ por exemplo, e o arquivo .class em C:\applets\. Dessa forma o arquivo será executado corretamente.

Abraços.

Postado

Não era exatamente este o problema, o arquivo .class e o html estavam na mesma pasta dentro do Eclipse, a pasta applets (pacote), e ja havia tentado o que você sugeriu. entretanto, lendo sua resposta me ajudou a resolver o problema.

O .class eu deixo dentro do pacote applets, e o html na pasta anterior, onde estão todos o pacotes do projeto, com o codigo que voce falou, Code="applets/AppletTest1.class", desse jeito funcionou.

  • Membro VIP
Postado
Não era exatamente este o problema, o arquivo .class e o html estavam na mesma pasta dentro do Eclipse, a pasta applets (pacote), e ja havia tentado o que você sugeriu. entretanto, lendo sua resposta me ajudou a resolver o problema.

O .class eu deixo dentro do pacote applets, e o html na pasta anterior, onde estão todos o pacotes do projeto, com o codigo que voce falou, Code="applets/AppletTest1.class", desse jeito funcionou.

Foi isso mesmo o que eu disse: colocando o html em C:\, você colocaria o applet em C:\applets, ou seja, o .html fica na pasta imediatamente superior na hierarquia. Acho que devo ter me expressado mal.

Mas ainda bem que você conseguiu resolver o problema, qualquer coisa é só postar.

Abraços.

Postado

Estou tentando executar applets que utilizam imagens, mas aparece um erro no navegador(Pelo Eclipse funciona normal).

java.security.AccessControlException: access denied (java.io.FilePermission icons.png 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 applets.ImageMap.init(ImageMap.java:51)

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 icons.png read)

Não importa o lugar onde o arquivo de imagem está, o erro sempre é o mesmo.

Tentei colocar a classe FilePermission mas não mudou nada.

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...