Tenho um pequeno Applet que funciona direitinho quando o Java Plugin está ativado no IE.
Este applet deverá ser compativel com browsers que não tenham o Java Plugin instalado, desta forma - para testa-lo - eu desativo o Java Plugin, e quando faço isso o browser diz não encontrar meu Applet, retornando a mensagem na console:
Error loading class: <NomeDoMeuApplet>
java.lang.NoClassDefFoundError
java.lang.ClassNotFoundException: <NomeDoMeuApplet>
at com/ms/vm/loader/URLClassLoader.loadClass
at com/ms/vm/loader/URLClassLoader.loadClass
at com/ms/applet/AppletPanel.securedClassLoad
at com/ms/applet/AppletPanel.processSentEvent
at com/ms/applet/AppletPanel.processSentEvent
at com/ms/applet/AppletPanel.run
at java/lang/Thread.run
Para manter esta compatibilidade com browsers antigos, compilei o applet com um SDK mais antigo, porem o erro persiste.
Alguem teria alguma dica ?
Os browsers atuais já vem com uma maquina virtual para execucao de codigos java, ok ?
A instalacao do Java Plugin 1.4 somente é necessária caso seu codigo vá usar alguma caracteristica de Java2 que não é suportada pelos browsers mais antigos, ok ?
Foi por essa razao que eu apenas desabilitei o uso do Java Plugin deixando que o browser utilize a sua propria maquina virtual para a execucao do codigo do applet. Tanto é que ele tenta chamar o Applet, mostra a janela cinza e registra os erros no console, ou seja, a maquina do browser está funcionando. O que eu nao estou entendendo é porque ele não está mais encontrando o meu Applet, já que o codigo HTML não mudou em nada e as referencias de codebase não mudaram. !?!?!?!
[quote=“fantomaz”]Ok Paulo, me corrija se eu estiver errado.
Os browsers atuais já vem com uma maquina virtual para execucao de codigos java, ok ?
[/quote]
Nem todos.
Você precisa instalar se for utilizar alguma biblioteca que só apareceu no 1.4. Alguns browsers antigos nem Java vem junto, por isso voce precisa instalar.
A JVM pode até começar a rodar, mas chega um hora que ele ve que você o desabilitou, e da pau. Tem outra hipotese, se voce desabiltiar o java plugin 1.4 e habilitar a Microsoft VM, ai sim, tem de funcionar o que voce falou, porque ai a JVM da MS tomaria conta. Se os dois estiverem dasabilitados, nao vai ter nehuma JVM “default”, ai nao vai rodar mesmo.
!!?!?!?!?!?!?!?!
voce apenas confirmou o que eu havia escrito! porém sem responder a duvida.
Mais alguem aqui nesse forum saberia o motivo do Plugin da Sun encontrar meu applet e a Microsoft VM não ?
Obs: meu applet está compilado em uma versão suportada pela VM do windows IE e Netscape.
“estar compilado para funcionar em netscape”. Todos os applets estao compilados pra funcionar em netscape.
Entao, minha frase foi uma pergunta: voce tem certeza que a MS VM esta ativada? Voce tem certeza que nao desativou as duas? Porque tem como fazer isso, e se voce fizer da uns paus dete tipo.
A mensagem de erro que a VM deu nao bate com o nome da sua classe
La ele falou que nao encontrou a NomeDoMeuApplet, e no seu html voce pos MeuApplet.
Outra coisa, voce ta usando o jeito antigo de chamar applet. A tag applet ja nao eh mais usada. Hoje em dia voce usa acho que <object>. Alguem aqui lembra?
Dentro do seu /doc tem o MeuApplet.class? poe no codebase /doc/MeuApplet (pode tentar com o .class tambem, na especificacao disse q vale os dois)
Pô cara… desse jeito voce me decepciona… hehehehe
eu editei a mensagem e o fonte trocando o nome pra <MeuApplet>…
o original está ok…
quanto a tag <object> , de acordo com a documentacao da Sun, ela não funciona com o netscape 6. Nem a tag <embed>. Se voce usar o Java Plugin com Nestcape6 voce DEVE usar a tag <applet>.
Como minha aplicacao DEVE atender a uma gama ampla de browsers incluindo o Netscape6, eu DEVO continuar usando a tag <applet>.
Como faço para passar dois valores digitados em um HTML, serem capturados pelo applet e executar um operacao. isso depois que eu acionar um botao.
Sei como funciona a passagem de parametros(getParameter()etc…), mas tem como iniciar a applet quando for selecionado o botao?