나는 Kotlin TornadoFX를 사용하여 브라우저를 만들고 있습니다.Kotlin에서 TornadoFX WebEngine Callback을 구현하는 방법
var wv = webview()
val br = wv.getEngine()
br.setCreatePopupHandler(Callback<PopupFeatures, WebEngine>() {
override fun call(pf: PopupFeatures): WebEngine {
var smallView = webview()
val stage = Stage(StageStyle.UTILITY)
stage.setScene(Scene(smallView))
stage.show()
val engine = smallView.getEngine()
return engine
}
})
내가왔다 : TornadoFX을 사용하는 코 틀린로 번역
webEngine.setCreatePopupHandler(
new Callback<PopupFeatures, WebEngine>() {
@Override
public WebEngine call(PopupFeatures config) {
smallView.setFontScale(0.8);
if (!toolBar.getChildren().contains(smallView)) {
toolBar.getChildren().add(smallView);
}
return smallView.getEngine();
}
});
:
내가 자바 FX를 사용하여이 자바 코드를 참조 : 나는 WebEngine setCreatePopupHandler을 구현할 때 오류가 발생합니다 인터넷에서 오랜 시간을 검색했지만 아무것도 찾지 못했습니다. 제발 누군가가 나를이 오류를 해결할 수 있습니다.e: surfing\src\surfing.kt: (76, 13): Modifier 'override' is not applicable to 'local function'
e: surfing\src\surfing.kt: (76, 13): Expected a value of type WebEngine!
우선에 내 조언을하지 않은
tornadoFX 개발자가 내 질문에 매우 놀랐습니다. 정말 고맙습니다. 이 문제는 tornadoFX ver 1.5.7에서 ver1.7.5로 변경하고 다른 ver 문제점을 ouccer하므로 ver1.5.7을 다시 변경하고 조언 방법을 컴파일 해보십시오. 성공한 빌드는 내 문제를 해결했습니다. 다시 고마워요 :) –
위대한! 업그레이드하는 데 문제가있는 경우 jvmTarget을 1.8로 변경하는 것을 잊었 기 때문일 수 있습니다. 1.7.1 릴리스 정보 페이지의 지침을 참조하십시오. https://github.com/edvin/tornadofx/releases/tag/v1.7.1 –
그렇습니다. 당신의 설명을 듣고 곧 이해합니다. 고마워! –