Passing JS Funktion Applet für als Ereignis-Listener
-
02-07-2019 - |
Frage
Ist es möglich, eine Funktion / Rückruf von Javascript zu einem Java-Applet übergeben?
Zum Beispiel habe ich ein Applet mit einer Schaltfläche, dass, wenn sie gedrückt wird, die übergeben js Rückruf anrufen
function onCommand() {
alert('Button pressed from applet');
}
applet.onCommand(onCommand);
Lösung
Ich neige dazu, etwas zu verwenden, die ich von der Reflexion Beispiel an der Unterseite abgeleitet von dieser Seite , wie dann brauchen Sie nicht mit Ihrem classpath einzumischen, um es zu kompilieren zu bekommen
Dann gehe ich nur JSON-Strings um zwischen dem Applet und JavaScript
Andere Tipps
Sie können mit JSObject von Java zurück in Javascript zu nennen.
Von dieser Seite:
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. JSObject zu verwenden, müssen Sie möglicherweise "MAYSCRIPT" Tag-zu-Applet HTML-Tag enthalten.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow