Recently I have tried to use Java FX with jme-jfx-11 from jayfella
on a project which I am developing from a mac book. (OS Version 10.13.6)
My application does crash, when following line is called
JavaFxUI.initialize(this);
I just tried the example from JMonkeyStore jme-jfx-11 from jayfella.
(With same build.gradle dependencies from the descriptions with version 1.1.5)
While this is running all totally fine on my windows, on my macbook
I get this error on the console:
Has anybody an idea, why this occurs? Anybody ever tried this with a mac?
Note:
I am using eclipse for developing.
In use: jdk-11.0.5
VM arguments: -XstartOnFirstThread.
Also use “setShowSettings(false);” (Because settings window seems to have issues on mac)
Yea, it doesn’t work at all on OSX. From what i’ve been able to tell… it is expecting some sort of menu access that it doesn’t have and so it crashes. I haven’t found a way around it yet.
Okay, thanks for the answer.
With Java 8 this was still working. (With the older lib) @jayfella do you know by chance any workaround to get this running on OSX?
EDIT: @jayfella by going to jfx 12, I get this error from jme-jfx-11 on windows (did not test on osx):
Exception in thread "JavaFX Application Thread" java.lang.NoSuchMethodError: com.sun.javafx.embed.EmbeddedSceneInterface.mouseEvent(IIZZZIIIIZZZZZ)V
at com.jayfella.jme.jfx.injme.input.JmeFXInputListener.onMouseMotionEventImpl(JmeFXInputListener.java:453)
at com.jayfella.jme.jfx.injme.input.JmeFXInputListener.lambda$onMouseMotionEvent$2(JmeFXInputListener.java:405)
at com.sun.javafx.application.PlatformImpl.lambda$runLater$10(PlatformImpl.java:428)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at com.sun.javafx.application.PlatformImpl.lambda$runLater$11(PlatformImpl.java:427)
at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:96)
at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
at com.sun.glass.ui.win.WinApplication.lambda$runLoop$3(WinApplication.java:174)
at java.base/java.lang.Thread.run(Thread.java:834)