2013-07-08 4 views
0

문제점이 있습니다. Java FX 응용 프로그램에서 브라우저로 통신해야합니다. 그 전에는 다음과 같이 정보를 찾았습니다 :Java FX liveconnect - FX 응용 프로그램에서 javascript 함수 호출

var jsObject = netscape.javascript.JSObject.getWindow(applet); 
jsObject.call("show_alert", []); 

이 글에서 나는 JavaScript 함수에 접근 할 수 있습니다. 하지만 Java FX 애플리케이션은 애플릿이 아닙니다 (JApplet을 구현하지 않음). 그래서 getWindow()에 무엇을 입력 할 수 있습니까?

제안 사항?

+0

https://blogs.oracle.com/rakeshmenonp/entry/javafx_javascript – rajuthoutu

+0

이 애플리케이션을 어떻게 실행하고 있습니까? 웹 페이지에 삽입되어 있습니까? 그렇지 않으면 브라우저에서 JS에 액세스 할 수 없습니다. –

+0

@Andrew Thompson 예 웹 페이지에서만 액세스하고 있습니다. – rajuthoutu

답변

0

JavaFX 코드가 웹 브라우저 페이지 (애플릿)에 내장되어 실행 중이거나 다른 구성 인 경우 의견이 명확하지 않습니다. 그러나 다음을 사용하여 시작해야합니다.

JSObject jsWin = getHostServices().getWebContext(); 
if (jsWin != null) { 
    jsWin.eval("show_alert();"); 
} 

그래도 작동하지 않으면 작동하지 않는 기능과 특정 런타임 구성에 대해 의견을 말하십시오.

getHostServices()herehere과 같이 JavaFX Application의 메소드입니다.