Não consigo visualizar o applet!

20 respostas
klebernss

Pessoal, alguém me ajude, por favor!!!

Sou iniciante em Java, pois sempre fui desenvolvedor Microsoft (principalmente .net).
Estou tentando desenvolver um Applet. Já o fiz. Rodou bem no Applet Viewer do Eclipse. Porém não consigo fazê-lo rodar no Browser. Já coloquei as tags corretas (<APPLET CODE=“MeuPrimeiroApplet.class” WIDTH=300 HEIGHT=200>).
Baixei um applet na internet para observar seu funcionamento no Browser. Rodou normal (indicando que não há nenhum problema de visualização no me Browser). Porém, o meu, que está configurado da mesma forma, não visualiza de jeito nenhum.
Estou enviando (em anexo) os dos applets, o meu e o que baixei. Lembrando que o meu não está funcionando no Browser e o outro sim.
Por favor, se alguém souber o que está errado, ou qual a diferença vital que difere um do outro, peço que me ajudem.

Obrigado!!!

Kleber.

20 Respostas

T

Só para facilitar, qual é a mensagem de erro que aparece no Sun Java Console?

klebernss

Primeiro aparece escrito (embaixo à esquerda): Applet MeuPrimeiroApplet notinied
quando clico sobre o mouse para ativar aparece: Loading Java Applet failed

klebernss

O que é preciso fazer para que o Browser visualize o applet?? Será que alguém pode me ajudar???

T

Repetindo: o que está escrito no Sun Java Console? Deve aparecer alguma coisa lá.

klebernss

[color=olive]Repetindo: o que está escrito no Sun Java Console? Deve aparecer alguma coisa lá.[/color]

Meu, o que tá acontecendo é o seguinte: no console aparece tudo que tem que aparecer, startin…, destroing…, etc. Mas o meu problema maior é que, nem no Internet Explorer (que não tem java console). Nem lá ele aparece. Será que eu tenho que fazer alguma coisa além de compilar a classe? Será que eu tenho que publicar no servidor antes?

T

O Internet Explorer tem Sun Java Console; ative o Java da Sun no seu Internet Explorer, e então abra o Sun Java Console.

Eu não tenho um IE em português aqui para lhe dizer exatamente qual é a opção do menu; vou tentar uma tradução mais ou menos.

Deve haver um menu “Ferramentas” no seu IE (no IE 7, costuma ficar sob aquela lupa de busca, e tem um ícone de engrenagem); clique nesse menu, e escolha Sun Java Console.

Acho que era bom publicar no servidor antes :stuck_out_tongue:

klebernss

A tá, ativei e agora apareceu isso:

java.lang.NoClassDefFoundError: MeuPrimeiroApplet (wrong name: meusapplets/MeuPrimeiroApplet)

at java.lang.ClassLoader.defineClass1(Native Method)

at java.lang.ClassLoader.defineClass(Unknown Source)

at java.security.SecureClassLoader.defineClass(Unknown Source)

at sun.applet.AppletClassLoader.findClass(Unknown Source)

at java.lang.ClassLoader.loadClass(Unknown Source)

at sun.applet.AppletClassLoader.loadClass(Unknown Source)

at java.lang.ClassLoader.loadClass(Unknown Source)

at sun.applet.AppletClassLoader.loadCode(Unknown Source)

at sun.applet.AppletPanel.createApplet(Unknown Source)

at sun.plugin.AppletViewer.createApplet(Unknown Source)

at sun.applet.AppletPanel.runLoader(Unknown Source)

at sun.applet.AppletPanel.run(Unknown Source)

at java.lang.Thread.run(Unknown Source)
T
Você tem de especificar, no seu tag < APPLET > , o atributo CODE com o nome da classe (não é o nome do arquivo .class, como muita gente supõe.)

Exemplo: CODE="meusapplets.MeuPrimeiroApplet".

Não se esqueça: não ponha ".class" (algumas versões do Sun Java Plug-In olham esse ".class" no fim do nome da classe, e acham que é para carregar uma classe chamada "class", que não pode ser compilada em Java.)
klebernss

Então, eu já tirei o “.class” e também não funcionou. No seu funcionou?

T

Quando você usa um .class, você tem de copiar em um subdiretório de acordo com a estrutura de pacotes.

Digamos que a sua página esteja em c:\inetpub\wwwroot\teste.html e você queira criar um applet com a classe “meusapplets.MeuPrimeiroApplet”. Você precisa copiar o seu applet para o diretório “c:\inetpub\wwwroot\meusapplets”.

Você viu que isso é um PNS (pé no s…). Como normalmente applets criam muitas classes (principalmente quando você cria Listeners e outras coisas), então você vai ter de copiar várias e várias classes para o diretório da página.

Eu prefiro montar um .jar, e copiar para o diretório da página.

klebernss

Então, eu já sabia disso. Eu gostaria de pedir um favor, baixe o zip que postei neste tópico e tenta rodar no seu Browser. Vê lá se tem algum problema de localização das coisas. Até agora, tudo que me disseram sobre isso eu já fiz. Obrigado pela força!!!

soloplayer

Amigo pelo que vi o erro esta ao tentar carregar este trecho:

foto = getImage(getCodeBase(), “http://www.nubrast.com.br/images/klebernss3x4.JPG”);

onde nao esta encontrando fiz os testes aqui com uma imagem local e deu certo, veja na documentacao se pode fazer isso ae http: nao sei é assim que faz http. Espero ter ajudado.

Kleber Gracia

klebernss

soloplayer, vc precisou publicar no servidor ou foi só compilar o .java novamente?

T

Amigo, você precisa compreender que applets são como imagens; são arquivos estáticos, que para mudarem têm de ser publicados novamente no servidor e, pior, você precisa limpar o cache sempre, enquanto está desenvolvendo seu programa. É um PNS*, como eu já havia dito antes.

Não é só o cache do browser que você tem de limpar: existe um cache no Java que deve ser limpo. Vá até o Painel de Controle, escolha o ícone Java, e veja se há uma opção para limpar os applets e outros arquivos. (No Painel de Controle -> Java você vê a primeira aba, que se chama "General", no grupo "Temporary Internet Files" clique no botão "Settings…", e então clique em "Delete Files…". Clique "OK".

Repita isso a cada vez que você atualizar seu código no servidor e for retestar o seu applet.

  • PNS é minha tradução para o português para a famosa sigla PITA - "Pain in the A…" - que se diz muito em inglês.
T

Eu também sou um “desenvolvedor Microsoft”*, e é por isso que acho que applets são bem chatinhos. Prepare-se porque são chatinhos mesmo.

  • Tenho um MCSE, um MCDBA e umas camisas pretas (verdes e brancas também) da Microsoft em casa, fora o tal bonezinho preto do Microsoft Visual Studio .NET. Mas não ando com essas coisas por aí.
soloplayer

Amigo alem de eu compilar eu compilei, como o amigo diz, isso funciona como uma imagem, se um link de exibicao estiver errado, nada e exibir paginas, eu no começo tive problemas com as barras e tals, veja se o cominho e realmente isso, o meu coloquei uma imagem em uma pasata que criei so que eu netbeans, na desenvolvo com eclipese aplicacoes web, em eclipse so desenvolvo em superwaba, mas no netbeans se vc for novato aconselho que o use, eu nao consegui desenvolver nenhuma aplicacao web com ele somente aplicações para palm e dos generos ja com o netbeans e muito bom, voce so inicia um novo projeto, faz as classes, declara no Struts.config e manda compilar no proprio netbeans, depois disso ele gera um .war que jogo dentro do servidor tomcat, na pasta webapps, e dou em stop no server e depois um run novamente para iniciar o server, fiz isso e fungou perfeitamente. Abraco caso necessite de tutoriais eu tenho me envie uma nova mensagem ok, espero ter ajudado amigos.

klebernss

Caro amigo thigol, quanto a sua última respostas tenho algumas dúvidas que gostaria que você me ajudasse a esclarecer:

1 - Se todo applet deve ser publicado no servidor, por que então eu consegui visualizar normalmente simplesmente baixando e descompactando o arquivo OPEN.zip que postei neste fórum (sem precisar publicar)?;

2 - Como faço para limpar o chache do Java e do Browser?;

3 - (No Painel de Controle -> Java você vê a primeira aba, que se chama "General", no grupo "Temporary Internet Files" clique no botão "Settings…", e então clique em "Delete Files…". Clique "OK") Este roteiro é no Eclipse (Este é o IDE que eu uso)? Se for, como limpar o cache do Java no caso de eu simplesmente desenvolver o applet no Bloco de notas e compilá-lo no javac.exe?

Desculpe-me pela minha ignorância.

klebernss

Ganha um doce quem conseguir resolver meu problema!!! rsrsrsrsrsrs

klebernss

Valeu pessoal, graças às dicas de vocês, consegui resolver meu problema com applets. Valeu mesmo!!!

antoniopopete

thingol:
Amigo, você precisa compreender que applets são como imagens; são arquivos estáticos, que para mudarem têm de ser publicados novamente no servidor e, pior, você precisa limpar o cache sempre, enquanto está desenvolvendo seu programa. É um PNS*, como eu já havia dito antes.

Não é só o cache do browser que você tem de limpar: existe um cache no Java que deve ser limpo. Vá até o Painel de Controle, escolha o ícone Java, e veja se há uma opção para limpar os applets e outros arquivos. (No Painel de Controle -> Java você vê a primeira aba, que se chama "General", no grupo "Temporary Internet Files" clique no botão "Settings…", e então clique em "Delete Files…". Clique "OK".

Repita isso a cada vez que você atualizar seu código no servidor e for retestar o seu applet.

  • PNS é minha tradução para o português para a famosa sigla PITA - "Pain in the A…" - que se diz muito em inglês.

Baseado nisso, percebo que já mecheu com applets um pouco.
Você saberia me explicar, como posso passar um parâmetro (xml) para um componente gerar uma tree view?
Ela ja existe e aceita o xml, só não sei como coloca-la na tela, e fazer com que quado usuário selecionar um tipo de dado, eu traga o xml correto (isso também esta feito) e passe o xml para a applet.(falta isso)

Criado 27 de janeiro de 2008
Ultima resposta 21 de mai. de 2008
Respostas 20
Participantes 4