Llamar a métodos de un Applet Java desde javascript
Es posible desde javascript llamar a un método de un applet dentro de la página. Para ver cómo, un ejemplo.
Primero un Applet tonto
import javax.swing.*; public class applet extends JApplet { private JLabel etiqueta = new JLabel("Hola"); public void init() { add(etiqueta); } public void cambia() { etiqueta.setText("Adios"); } }
Básicamente tiene un JLabel que pone "Hola" y un método cambia() que cambia esa etiqueta por "Adios". Al visualizar el Applet se ve "Hola".
Ahora, una página html con el Applet y algo de javascript
<html> <head> <!-- El javascript, una funcion que obtiene el applet usado su id y llama al metodo cambia --> <script> function pulsado() { var applet = document.getElementById('idApplet'); //Objeto del applet embebido en la pagina applet.cambia(); } </script> </head> <body> <!-- El applet, con un id que permita identificarlo --> <p><applet id="idApplet" code="applet" width="200" height="100"></applet></p> <!-- Un boton que al pulsarlo llame al metodo pulsado() de javascript --> <FORM name="formDisplay"> <INPUT ENGINE="button" NAME="boton" VALUE="Adios" onClick="pulsado()"></INPUT> </FORM> </body> </html>
Listo. Basta compilar el applet para obtener el applet.class, colocar tanto el html como el .class en el mismo directorio y visualizarl el html con un navegador. Por supuesto, hay que tener la máquina virtual de java activada en el navegador y javascript.