Olhando essa página que você olhou no site da Oracle, dá para entender por que ela não funciona. Uma coisa é que o pessoal da Oracle nunca deve ter revisado essa página desde a versão 5.0 do Java - já estamos no Java 7.0, e caminhando para o Java 8.0.
Desde a versão 5.0 do Java, applets não devem ser carregados usando o nome do arquivo (nesse caso GraphicsTest.class) e sim o nome da classe a ser carregada (olhando o fonte, o nome da classe é GraphicsTest).
O que ocorre é que se você tentar usar GraphicsTest.class, ele tenta achar uma classe com o nome “class” e com o package “GraphicsTest”.
Como você deve se lembrar, o nome “class” é proibido para uma classe, senão você teria algo como:
public class class {
}
S
Shakall
Entendi, realmente eu estava estudando e tanto no livro quando nos exemplos que achei pela net se usa o .class, pois como vc disse antigamente era assim.
Vou realizar a mudança e ver se dá certo.
Valeu pela dica!
S
Shakall
Amigo aqui não deu certo, veja estou usando a seguinte tag dentro do jsp
Estou usando o código fonte do applet dentro do meu projeto web, vi em alguns lugares o pessoal gerando o applet em um projeto separado, criando um .jar e integrando no projeto web, qual seria a melhor solução?
Outra coisa ao clicar com o botão direito em cima do arquivo HelloWorld.java e pedindo para executar o appletview mostra o meu applet, olhando dentro da pasta do projeto o mesmo criou um HelloWorld.html onde o seu conteudo é
<HTML><HEAD><TITLE>PáginaAppletHTML</TITLE></HEAD><BODY><!--*** GENERATED applet HTML launcher - DO NOT EDIT IN 'BUILD' FOLDER ***If you need to modify this HTML launcher file (e.g., to add applet parameters), copy it to where your applet class is found in the SRC folder. If you do this, the IDE will use it when you run or debug the applet.Tip: To exclude an HTML launcher from the JAR file, use exclusion filters in the Packaging page in the Project Properties dialog.For more information see the online help.--><H3><HRWIDTH="100%">PáginaAppletHTML<HRWIDTH="100%"></H3><P><APPLETcodebase="web/WEB-INF/classes"code="br/com/clog/applet/HelloWorld.class"width=350height=200></APPLET></P><HRWIDTH="100%"><FONTSIZE=-1><I>GeradoporNetBeansIDE</I></FONT></BODY></HTML>
Obrigado pela ajuda!
S
Shakall
Engraçado que quando clico no erro para mostrar os detalhes, nada de importante é mostrado apenas.
Applets não podem ser servidos desse diretório , que é completamente invisível para o browser (e por conseguinte invisível para o Java Plugin).
Qualquer coisa que fique sob WEB-INF não pode ser baixado. Você nunca se perguntou por que é que você não consegue baixar os .class das servlets e jsps para sua máquina? Pois é, é exatamente por causa disso.
Você deve copiar as classes para o mesmo diretório em que ficam as imagens ou outras coisas estáticas no seu site. (Eu costumo criar um diretório “applets” que é paralelo ao diretório “images”. )
O melhor é sempre:
a) Criar um jar para sua applet (mesmo que ele tenha apenas uma classe )
b) Usar o atributo “archive” para especificar o lugar correto desse jar
c) Usar o atributo “code”
d) Não use, não use e não use o nome “.class” no atributo “code”. Como eu já tinha falado antes, não use.
E
entanglement
Se eu fosse chato, iria dizer que você simplesmente não entendeu o que escrevi, porque você insistiu em pôr o nome de um arquivo:
code="br/com/clog/applet/HelloWorld.class"
em vez do nome de uma classe:
code="br.com.clog.applet.HelloWorld"
Mas como a vida é curta…
S
Shakall
Deu certo, obrigado pela ajuda!
S
Shakall
Um duvida é possível o applet retornar algum valor para meu jsp? Tipo digitar algo no applet e conseguir acessar esta informação?
Obrigado
E
entanglement
Procure por “LiveConnect” (ou pacote ‘netscape.javascript’) - eu já tive de usar isso e não recomendo “muito”. É que isso envolve a interação de JavaScript e seu applet, o que costuma dar alguns problemas.