Pergunta

É possível passar uma função / retorno de chamada de javascript para um applet java?

Por exemplo eu tenho um applet com um botão que, quando pressionado ele irá chamar o passado js callback

function onCommand() {
  alert('Button pressed from applet');
}
applet.onCommand(onCommand);
Foi útil?

Solução

I tendem a usar algo que deriva do exemplo reflexão na parte inferior da desta página , como então você não precisa mexer com o seu classpath para obtê-lo para compilar

Então eu apenas passar JSON cordas ao redor entre o applet e JavaScript

Outras dicas

Você pode usar JSObject para chamar de volta para javascript de Java.

A partir dessa página:

import netscape.javascript.*;
import java.applet.*;
import java.awt.*;
class MyApplet extends Applet {
     public void init() {
         JSObject win = JSObject.getWindow(this);
         JSObject doc = (JSObject) win.getMember("document");
         JSObject loc = (JSObject) doc.getMember("location");

         String s = (String) loc.getMember("href");  // document.location.href
         win.call("f", null);                      // Call f() in HTML page
     }
}

ps. usar JSObject pode ser necessário incluir tag "MAYSCRIPT" para aplicação html tag.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top