Passando função JS para applet para como ouvinte de evento
-
02-07-2019 - |
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);
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