이벤트 리스너로서 Applet에 JS 기능을 전달합니다
-
02-07-2019 - |
문제
JavaScript에서 Java 애플릿으로 함수/콜백을 전달할 수 있습니까?
예를 들어, 누르면 눌린 버튼이있는 애플릿이 있습니다.
function onCommand() {
alert('Button pressed from applet');
}
applet.onCommand(onCommand);
해결책
나는 바닥의 반사 예에서 파생 된 것을 사용하는 경향이 있습니다. 이 페이지, 그런 다음, 당신은 그것을 컴파일하기 위해 클래스 경로와 혼란할 필요가 없습니다.
그런 다음 Applet과 JavaScript 사이에 JSON 줄을 통과합니다.
다른 팁
당신이 사용할 수있는 jsobject Java에서 JavaScript로 다시 전화하십시오.
그 페이지에서 :
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
}
}
추신. jsobject를 사용하려면 애플릿 HTML 태그에 "mayscript"태그를 포함해야 할 수도 있습니다.
제휴하지 않습니다 StackOverflow