Tempo fa avevo inserito in una stessa pagina html 3 Applet, che chiamerò Prima, Seconda e Terza, e l'ultima doveva richiamare un metodo della prima. Il tutto funzionava perfettamente, ma ora, testando con firefox 3.5.3 su Fedora 11, la cosa non va più.
Ecco parte del codice della Terza Applet:
Applet a=getAppletContext().getApplet("Prima");
if ((a!=null)/*&&(a instanceof Prima)*/)
{
System.out.println("Trovata Prima");
((Prima)a).mioMetodo();
}
}
Funziona perfettamente se eseguo
cd /path_dei_files_class && firefox pagina_che_contiene_l_applet.html
mentre se digito
cd /path_dei_files_class && cd .. && firefox ultimo_livello_path/pagina_che_contiene_l_applet.html
ottengo l'errore:
Trovata Prima
java.lang.ClassCastException: Prima cannot be cast to Prima
at Terza.init(Terza.java:23)
at sun.applet.AppletPanel.run(AppletPanel.java:436)
at java.lang.Thread.run(Thread.java:636)
Capite bene che, in una normale Applet eseguita in una pagina web, è impossibile che il path corrente corrisponda alla locazione dei files class, per cui la cosa non funziona mai.
Vuol dire che non è più possibile far comunicare due applet nella stessa pagina?
O bisogna modificare il codice in qualche modo?
Grazie
Marco

Rispondi quotando