Other B4J v5.00 BETA is available for download

Status
Not open for further replies.

Erel

B4X founder
Staff member
Licensed User
Longtime User
B4J v5.00 BETA is now available for download: www.b4x.com/b4j/files/beta.exe

List of improvements:

  • Variables and subs renaming based on the Find All References feature:

    rename-gif.53634


    https://www.b4x.com/android/forum/threads/first-refactoring-feature.77122/#content

  • Form.AlwaysOnTop - Sets the form to be above all windows.
  • Better handling of StartMessageLoop / StopMessageLoop methods in debug mode.
  • OkHttp B4J library updated and is based on OkHttp v3.5.
  • ConnectionPool updated and is based on c3p0 v0.9.5.2.
  • Quick search supports replacing including replace in all modules.
  • Icon picker - Filter field (supports filtering by name or hex code), names in tool tips.
  • jFX.CreateFontAwesome / CreateMaterialIcons methods.
  • Fix for size offset in the WYSIWYG window.
  • Accordion container:

    accordion-gif.53892

    https://www.b4x.com/android/forum/threads/accordion-container.77501/

  • Pagination container:

    pagination-gif.53895

    https://www.b4x.com/android/forum/threads/pagination-container.77505/

  • Application_Error - handler for uncaught exceptions: https://www.b4x.com/android/forum/posts/490852/
  • LogError - Prints to StdErr.
  • jServer - CurrentThreadIndex always returns 0 for the main thread.
    Fix for single threaded handlers that could become non-responsive after unhandled errors.
  • Initial support for Java 9. Java 9 is currently in beta version. Not everything is supported yet.
  • Find all references - finds references in layout files and CallSub calls.

Download link: www.b4x.com/b4j/files/beta.exe
 

Daestrum

Expert
Licensed User
Longtime User
Nice job. Thank you Erel.
 
Last edited:
Upvote 0

Daestrum

Expert
Licensed User
Longtime User
The Find All References/Rename works in the inline java too - excellent :)
btw, the IDE didn't break even when I use my -source/-target 1.8 workaround.
 
Upvote 0

Daestrum

Expert
Licensed User
Longtime User
You are correct (me being stupid - again).
 
Upvote 0

jmon

Well-Known Member
Licensed User
Longtime User
Everything works for me with BETA #5 and Java 8u121

Initial support for Java 9. Java 9 is currently in beta version. Not everything is supported yet.
I get some errors with Java 9:

ERROR 1
This error:
java.lang.reflect.InaccessibleObjectException: Unable to make public void com.sun.javafx.collections.ObservableListWrapper.clear() accessible: module javafx.base does not "exports com.sun.javafx.collections" to unnamed module @5356ef
at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:335)
at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:278)
at java.base/java.lang.reflect.Method.checkCanSetAccessible(Method.java:196)
at java.base/java.lang.reflect.Method.setAccessible(Method.java:190)
at anywheresoftware.b4j.object.JavaObject.RunMethod(JavaObject.java:130)
at com.appidentifier.misc._loadcsstoscene(misc.java:137)
at com.appidentifier.main._appstart(main.java:812)
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:547)
at anywheresoftware.b4a.shell.Shell.runMethod(Shell.java:612)
at anywheresoftware.b4a.shell.Shell.raiseEventImpl(Shell.java:229)
at anywheresoftware.b4a.shell.Shell.raiseEvent(Shell.java:159)
at jdk.internal.reflect.GeneratedMethodAccessor1.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:547)
at anywheresoftware.b4a.BA.raiseEvent2(BA.java:79)
at anywheresoftware.b4a.ShellBA.raiseEvent2(ShellBA.java:92)
at anywheresoftware.b4a.BA.raiseEvent(BA.java:70)
at com.appidentifier.main.start(main.java:38)
at javafx.graphics/com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$9(LauncherImpl.java:928)
at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runAndWait$11(PlatformImpl.java:449)
at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runLater$9(PlatformImpl.java:418)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runLater$10(PlatformImpl.java:417)
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:189)
at java.base/java.lang.Thread.run(Thread.java:844)
is caused by this sub:
B4X:
Public Sub LoadCssToScene(FormTarget As Form)
    Dim jFrm As JavaObject = FormTarget.RootPane
    jFrm.RunMethodJO("getScene", Null).RunMethodJO("getStylesheets", Null).RunMethod("clear", Null) 
    jFrm.RunMethodJO("getScene", Null).RunMethodJO("getStylesheets", Null).RunMethod("add", Array(CssFileName)) 
End Sub

ERROR 2
I think the next error is because of ControlsFX (maybe need to update ControlsFX?):
java.lang.IllegalAccessError: class impl.org.controlsfx.version.VersionChecker (in unnamed module @0x5356ef) cannot access class com.sun.javafx.runtime.VersionInfo (in module javafx.base) because module javafx.base does not export com.sun.javafx.runtime to unnamed module @0x5356ef
at impl.org.controlsfx.version.VersionChecker.<clinit>(VersionChecker.java:50)
at org.controlsfx.control.ControlsFXControl.<init>(ControlsFXControl.java:35)
at org.controlsfx.control.CheckComboBox.<init>(CheckComboBox.java:113)
at org.controlsfx.control.CheckComboBox.<init>(CheckComboBox.java:104)
at anywheresoftware.b4j.objects.CheckComboBoxWrapper.innerInitialize(CheckComboBoxWrapper.java:66)
at anywheresoftware.b4j.objects.NodeWrapper.Initialize(NodeWrapper.java:75)
at com.appidentifier.pagestats._initialize(pagestats.java:3097)
at com.appidentifier.pageproducer._createpage(pageproducer.java:264)
at com.appidentifier.pageproducer._initialize(pageproducer.java:69)
at com.appidentifier.main._appstart(main.java:1074)
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:547)
at anywheresoftware.b4a.shell.Shell.runMethod(Shell.java:612)
at anywheresoftware.b4a.shell.Shell.raiseEventImpl(Shell.java:229)
at anywheresoftware.b4a.shell.Shell.raiseEvent(Shell.java:159)
at jdk.internal.reflect.GeneratedMethodAccessor1.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:547)
at anywheresoftware.b4a.BA.raiseEvent2(BA.java:79)
at anywheresoftware.b4a.ShellBA.raiseEvent2(ShellBA.java:92)
at anywheresoftware.b4a.BA.raiseEvent(BA.java:70)
at com.appidentifier.main.start(main.java:38)
at javafx.graphics/com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$9(LauncherImpl.java:928)
at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runAndWait$11(PlatformImpl.java:449)
at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runLater$9(PlatformImpl.java:418)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runLater$10(PlatformImpl.java:417)
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:189)
at java.base/java.lang.Thread.run(Thread.java:844)
java.lang.RuntimeException: java.lang.IllegalAccessError: class impl.org.controlsfx.version.VersionChecker (in unnamed module @0x5356ef) cannot access class com.sun.javafx.runtime.VersionInfo (in module javafx.base) because module javafx.base does not export com.sun.javafx.runtime to unnamed module @0x5356ef
at anywheresoftware.b4a.BA.raiseEvent2(BA.java:108)
at anywheresoftware.b4a.ShellBA.raiseEvent2(ShellBA.java:92)
at anywheresoftware.b4a.BA.raiseEvent(BA.java:70)
at com.appidentifier.main.start(main.java:38)
at javafx.graphics/com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$9(LauncherImpl.java:928)
at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runAndWait$11(PlatformImpl.java:449)
at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runLater$9(PlatformImpl.java:418)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runLater$10(PlatformImpl.java:417)
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:189)
at java.base/java.lang.Thread.run(Thread.java:844)
Caused by: java.lang.IllegalAccessError: class impl.org.controlsfx.version.VersionChecker (in unnamed module @0x5356ef) cannot access class com.sun.javafx.runtime.VersionInfo (in module javafx.base) because module javafx.base does not export com.sun.javafx.runtime to unnamed module @0x5356ef
at impl.org.controlsfx.version.VersionChecker.<clinit>(VersionChecker.java:50)
at org.controlsfx.control.ControlsFXControl.<init>(ControlsFXControl.java:35)
at org.controlsfx.control.CheckComboBox.<init>(CheckComboBox.java:113)
at org.controlsfx.control.CheckComboBox.<init>(CheckComboBox.java:104)
at anywheresoftware.b4j.objects.CheckComboBoxWrapper.innerInitialize(CheckComboBoxWrapper.java:66)
at anywheresoftware.b4j.objects.NodeWrapper.Initialize(NodeWrapper.java:75)
at com.appidentifier.pagestats._initialize(pagestats.java:3097)
at com.appidentifier.pageproducer._createpage(pageproducer.java:264)
at com.appidentifier.pageproducer._initialize(pageproducer.java:69)
at com.appidentifier.main._appstart(main.java:1074)
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:547)
at anywheresoftware.b4a.shell.Shell.runMethod(Shell.java:612)
at anywheresoftware.b4a.shell.Shell.raiseEventImpl(Shell.java:229)
at anywheresoftware.b4a.shell.Shell.raiseEvent(Shell.java:159)
at jdk.internal.reflect.GeneratedMethodAccessor1.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:547)
at anywheresoftware.b4a.BA.raiseEvent2(BA.java:79)
... 12 more

For both errors I couldn't find anything on internet... sorry I tried :)
 
Upvote 0

Swissmade

Well-Known Member
Licensed User
Longtime User
Nice Job Erel.

I wait for the release.
 
Upvote 0
Status
Not open for further replies.
Top