B4J Question CKEditor Webview Example Not Working on B4J

B4XDev

Member
Licensed User
When I start up the CKEditor example provided in this thread, I don't get what's expected.

The CKEditor itself does not seem to start up properly, as per the image below. e.g., there is no button bar like in the example image in the above-referenced thread.

1666232069227.png



Clicking the "Get Html" button causes this error:

B4X:
Waiting for debugger to connect...
Program started.
Call B4XPages.GetManager.LogEvents = True to enable logging B4XPages events.
Error occurred on line: 62 (B4XMainPage)
java.lang.reflect.InvocationTargetException
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:566)
    at anywheresoftware.b4j.object.JavaObject.RunMethod(JavaObject.java:132)
    at b4j.example.b4xmainpage$ResumableSub_RunJavaScript.resume(b4xmainpage.java:340)
    at b4j.example.b4xmainpage._runjavascript(b4xmainpage.java:311)
    at b4j.example.b4xmainpage$ResumableSub_Button1_Click.resume(b4xmainpage.java:284)
    at b4j.example.b4xmainpage._button1_click(b4xmainpage.java:254)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:566)
    at anywheresoftware.b4a.shell.Shell.runMethod(Shell.java:629)
    at anywheresoftware.b4a.shell.Shell.raiseEventImpl(Shell.java:234)
    at anywheresoftware.b4a.shell.Shell.raiseEvent(Shell.java:167)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:566)
    at anywheresoftware.b4a.BA.raiseEvent2(BA.java:111)
    at anywheresoftware.b4a.shell.ShellBA.raiseEvent2(ShellBA.java:100)
    at anywheresoftware.b4a.BA$1.run(BA.java:236)
    at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runLater$10(PlatformImpl.java:428)
    at java.base/java.security.AccessController.doPrivileged(Native Method)
    at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runLater$11(PlatformImpl.java:427)
    at javafx.graphics/com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:96)
    at javafx.graphics/com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
    at javafx.graphics/com.sun.glass.ui.win.WinApplication.lambda$runLoop$3(WinApplication.java:174)
    at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: netscape.javascript.JSException: TypeError: window.editor.getData is not a function. (In 'window.editor.getData()', 'window.editor.getData' is undefined)
    at javafx.web/com.sun.webkit.dom.JSObject.fwkMakeException(JSObject.java:157)
    at javafx.web/com.sun.webkit.WebPage.twkExecuteScript(Native Method)
    at javafx.web/com.sun.webkit.WebPage.executeScript(WebPage.java:1506)
    at javafx.web/javafx.scene.web.WebEngine.executeScript(WebEngine.java:972)
    ... 30 more
 

B4XDev

Member
Licensed User
Adding the following to the project allows it to work now:

B4X:
#JavaCompilerPath: 14, C:\java\jdk-14.0.1\bin\javac.exe

I have Java 11 as global Java version, so I had to use the above...
 
Upvote 0
Top