Domanda

È possibile passare una funzione / callback da javascript a un'applet java?

Ad esempio ho un'applet con un pulsante che quando viene premuto chiamerà il callback js passato

function onCommand() {
  alert('Button pressed from applet');
}
applet.onCommand(onCommand);
È stato utile?

Soluzione

Tendo a usare qualcosa che ho tratto dall'esempio di riflessione in fondo a questa pagina , poiché in quel momento non è necessario immischiarsi nel tuo percorso di classe per farlo compilare

Quindi passo semplicemente stringhe JSON tra l'applet e javascript

Altri suggerimenti

Puoi utilizzare JSObject per richiamare in javascript da Java.

Da quella pagina:

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. per utilizzare JSObject potrebbe essere necessario includere " MAYSCRIPT " tag al tag html dell'applet.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top