그래서 GWT에 내장 웹 브라우저 (Sketchup) 용 앱을 설계하고 있습니다. window.location 값을 "skp :: myFunciton @ myParams"로 변경하여 Sketchup을 제어 할 수 있습니다. Sketchup은 브라우저에서 자바 스크립트를 실행할 수 있습니다. 내가하고 싶은 것은 sketchup에 모델의 내용을 알려주는 것입니다.자바 스크립트에서 자바 (A GWT 이야기)
public static native void getModel() /*-{
$wnd.location = "skp:[email protected]";
}-*/;
두 번째 스케치 업 결과가 있습니다. 그러나 우리는 어떻게 그것을 gwt로 되돌려 놓을 수 있습니까? 문제는 엔트리 포인트 인스턴스가 요청을 시작하고 JSNI가 정적 메소드를 자바 스크립트에만 매핑 할 수 있다는 것입니다. 내가 이벤트 및 요소와 솔루션을했다고 생각
...
//Sketchup javascript
var gwtwidget = document.getElementById("myTextArea")
gwtwidget.value = "blahblah";
gwtwidget.onchange();
다음 GWT의 변화를 듣고. 아아, 작동하지 않습니다. Gwt의 자체 이벤트 시스템은 이벤트를 무시, 싱크, 중지 (또는 무엇이든)합니다. 어떤 접근 방식을 취해야합니까? 나는 정보 검색을 통해 웹을 봤지만 확실히 내 머리를 얻을 수는 없다. 나는 ... 대답은 하나입니다
1 호 (어떻게 든) 자바 스크립트에서 엔트리 포인트 인스턴스 방법을 추측하고있어
2 방화 (어떻게 든) GWT에 의해 포착됩니다 자바 스크립트에서 이벤트
3 설치 비동기 (어떤 식 으로든) 콜백 인터페이스 메커니즘
정말 좋아 보인다. 그것을 시도해보고 알려 드리겠습니다. – noelwarr
더 많은 마법이 있습니다. $ entry (...) 함수는 http://www.gwtproject.org/doc/latest/DevGuideCodingBasicsJSNI.html#calling을 참조하십시오. 이 함수는 자바 스크립트에 노출 된 자바 메소드를 래핑하는 데 사용해야합니다. 자바 코드에서 발생할 수있는 예외 처리 :'var callBackWrapper = $ entry (function (param) {...});' – haui