View Full Version : [Java] Applet non visualizzata su Internet Explorer
Ciao a tutti, riporto un problema che forse qualcuno ha già avuto: ho un'applet Java che crea un menu popup che viene visualizzata su qualunque browser tranne che se Internet Explorer (nessuna versione). L'errore che mi dà la consolle Java è "java.lang.ClassNotFoundException: apPopupMenu.class" anche se poi dice
"Caused by: java.io.IOException: open HTTP connection failed:http://oramid:7777/casting/applet/apPopupMenu/class.class"
Le ho provate tutte, ho aggiornato la JDK, ho messo le impostazioni di sicurezza al minimo, ... ma niente. Qualcuno può darmi una mano?
P.S.: su Firefox e Chrome, dopo che ho aggiornato la JDK all'ultima versione, mi dice che per eseguire la Applet deve utilizzare una versione precedente... io clicco su "Esegui" e l'applet funziona.
Indagherei su questa stringa:
"http://oramid:7777/casting/applet/apPopupMenu/class.class"
Come testimoniato dall'eccezione:
"java.lang.ClassNotFoundException: apPopupMenu.class"
C'è un ".class" di troppo. L'eccezione infatti dovrebbe dire:
"java.lang.ClassNotFoundException: apPopupMenu"
E la stringa di connessione essere:
"http://oramid:7777/casting/applet/apPopupMenu.class"
Ho tolto il ".class" nel tag <applet>:
<applet Code="apPopupMenu" codebase="applet" Width="100" Height="18" MAYSCRIPT>
e mi dà lo stesso errore, esattamente come lo hai scritto tu:
java.lang.ClassNotFoundException: apPopupMenu
[...]
Caused by: java.io.IOException: open HTTP connection failed:http://oramid:7777/casting/applet/apPopupMenu.class
Se la classe aPopupMenu.class è in archivio jar, aggiungi l'archivio con l'attributo archive di applet.
<applet ... archive="iljar.jar" ..
Il file .class è in una directory e non in un .jar... comunque mi sa che è un problema di Internet Explorer perchè nessuna applet viene visualizzata!!!
Per controllare se IE ha il plug-in java, menu strumenti di ie -> opzioni internet -> avanzate -> controlla se hai una voce "Java (Sun)" e se la casella sottostante è spuntata.
La voce "Java (Sun)" è spuntata. Credo comunque sia un problema di versione della JDK: in pratica dovrei "dire" a Explorer (o comunque a tutti i browser) di far girare le applet con una versione di Java precedente (attualmente ho la 1.6)... come si fa?
Di norma non è un problema perchè i JRE di versione maggiore sono sempre in grado di eseguire programmi scritti per JRE di versione minore.
Ti funziona questa applet in IE?
http://www.tukano.it/slideapplet.html
Sì funziona!!! (Molto bella tra l'altro :D )
Altro tentativo: forse è come è richiamata nel codice html che non va bene (premetto che non l'ho scritta io...):
<applet Code="apPopupMenu.class" codebase="applet" Width="110" Height="18" MAYSCRIPT>
Mah, non vedo nulla di sbagliato in quella riga. Se togli "codebase" che succede?
Prova a creare una cartella vuota, "test", e piazza i file così:
test\pagina html
test\apPopupMenu.class
senza quel codebase (che francamente non ricordo cosa faccia).
mmm proverò a fare come dici, mi sa che oggi non riesco, domani provo e ti faccio sapere (a proposito, grazie dell'aiuto!)
Comunque "codebase" indica la cartella dove si trova il .class. Invece che fa "MAYSCRIPT"? Non ne ho la più pallida idea! :confused:
Ho provato (in locale e non sul server) a mettere pagina html e applet nella stessa cartella e a togliere "codebase" dal tag... e funziona bene su IE. Ho provato a fare la stessa cosa sul server ma niente... mi dà sempre lo stesso errore. Le ho provate tutte... a questo punto penso sia o un problema di versione Java (ma come mi dicevi tu i JRE di versione maggiore sono sempre in grado di eseguire programmi scritti per JRE di versione minore) oppure un problema di permission, perchè l'errore che dà è
Caused by: java.io.IOException: open HTTP connection failed:http://oramid:7777/casting/applet/apPopupMenu.class
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.