Tengo un problema y es que por alguna extraña razón no puedo invocar el método de mi applet desde javascript.
Este sería mi applet que por supuesto esta firmado porque hace una consulta a un archivo del disco duro. Resulta que uno de los métodos me funciona que es el holaMundo() pero el otro método que es para saber si existe un fichero en el ordenador del cliente no me funciona y no me da error ni nada de nada.
Aquí les dejo mi applet
Código java:
Ver original
import java.awt.*; import java.applet.*; import java.io.File; import netscape.javascript.*; public void init() { } g.drawString("Welcome to Java!!", 50, 60 ); } return "Fui llamado desde JavaScript :D"; } if(file.exists()){ return "si existe"; }else{ return "no existe"; } } }
Y este es el fichero html desde donde lo invoca
Código HTML:
Ver original
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <!-- jQuery - the core --> <!-- Sliding effect --> <link href="js/jquery-ui.css" rel="stylesheet" type="text/css"/> <script> function holaMundo(){ alert(document.myApplet.holaMundo()); } function existeDisco(){ alert(document.myApplet.existeDisco()); } </script> </head> <body> <FORM> <INPUT type="button" value="call Java Applet method" onClick = "holaMundo()"> </FORM> <INPUT type="button" value="call Java method direct" onClick = "existeDisco()"> <applet id="myApplet" CODE="AppletJavaScript.class" archive="AppletSigned.jar" width=400 height=400 MAYSCRIPT></applet> </APPLET> </body> </html>
Sabe alguien porque me funciona el holaMundo() y EL existeDisco() NOO ME VA, sin embargo si pongo en el método paint esto
g.drawString("Welcome to Java!!"+existeDisco(), 50, 60 );
Se ve como en el applet aparece true o false.. Pero invocando al método desde javascript me falla... Sabe alguien darme alguna explicación o alguna forma de comunicar javascript con java que me resuelve este problema