JavaFX embedded in jme3

see in the guimanager, if different options in its constructor for the renderer backend change anything

Thank you ! I have found the solution ! useRecommendedJFXSettings must be equal to “false”. I don’t see differences between true and false except shapes appear. Is there other differences ? What are the interest of this variable ?

EDIT : More precisely it’s this line we need to comment to make appear shapes : System.setProperty(“prism.order”, “sw”);

Note that by not having that line, you might comrpomise your applications speed however, as now jfx renders on the gpu as well. In a normal ui only sceneario this is not necessary, and also slows down jme, hence the default settings.

This is a GUI question. How do I set up and use nifty gui to build menu via JME3-JFX? Is there a way to integrate the use of lemur in JME3-JFX ?

Not sure why you would want to do either of those things. If you are going to accept the overhead of Java-FX then why not just use it.

Edit: and what do you mean by “integrate”. They’d happily live alongside each other without issue.

Which one?

Hi @Empire_Phoenix, …

I’ve got a “working” version of JME3-JFX with jogl on the branch : GitHub - davidB/JME3-JFX at jogl
But the branch require jme 3.1.0-SNAPSHOT (because jogl for 3.0.10 is not available on maven repo, and I submit some fix to jme 3.1.0 master to fix some issue).

2 questions:

  1. what do you thinks about starting a jme_3.1 branch ?
  2. what about using jitpack.io to distribute the jar ? (today the uploadArchives task prevent to use it).

Having a secondary release for 3.1 is fine I think,
why does the uploadArchives prevent jitpack from working? (I kinda need that task to publish to my own artifactory server)

response from jitpack about issue with uploadArchives

Hi

One workaround is to use a different property for repository url:

https://github.com/chrisbanes/gradle-mvn-push/blob/master/gradle-mvn-push.gradle#L24-L27

The property RELEASE_REPOSITORY_URL is set in JitPack’s build environment so it should succeed there.

Best,

JitPack

On Tue, Nov 10, 2015, at 03:42 AM, David Bernard wrote:

Hi,

I have build that failed dur to gradle’s “uploadArtifacts” tasks.
If I remove the task the build works fine. But this task is used by the original project (I forked).

Do you have a solution workaround ?

https://jitpack.io/com/github/davidb/JME3-JFX/jogl-cc54290c09-1/build.log

Thanks.

I’m not exactly sure I understood what needs to be changed for this, or is this just the part that jitpack uses then?

Careful, potentially breaking changes in the current version: 5e135fb92bdfe8dbcf2ad0bd3f5ac653fa78b341

I removed the system native Drag&Drop handling in favour of a selfwritten one.
It tries to hook into the already existing DragAndDrop handlers, however it has a slightly different semantic on dragSource and dropTarget handlers.

See the attached TestDragAndDrop for useage of the new System.

Thanks @RiccardoBlb for leading me on this route to circumvent the current issues :slight_smile:

1 Like

There is now also a breaking change with alpha 4 in that the Application class is now an interface. We need a proper build against alpha 4 if possible.

My fork supports LWJGL3 and JME3.1 alpha4 :smile:
https://github.com/JavaSaBr/JME3-JFX/tree/master/build

1 Like

Hi, guys! I m here to say thx for ur beautiful work around build nice GUI framework on top of JME. Last week i have tried Nifty, Tonegodgui and Lemur. Nifty IMHO too overhead, i mean we have to do too much work for just place some text or buttons on screen and as tonegode creator said NIfty has some duplicate entities (such as ScreenControl and AppState is made for the same). Tonegode is cool, straightforward and simple to understand, but i didn’t found any way to use layouts, yes we have some classes but they didn’t work(i will appreciate if someone can tell me how to use it properly). So impossible to use in dynamic builded GUI. And the last one i used was Lemur, have Layouts, but unfortunately pretty buggy, some controls may go unexpected size changing in runtime. So… i have to try JavaFX coz i using this beautifull framework in my job in several buisness applications and i have to say JavaFX is awesome. Javasabr, can u give me 1 example of how to use ur fork com.jme3x.jfx? I don’t use gradle, i am maven user, so i can’t compile ur JME3-JFX-master project. I installed jfx-1.3.2 at my local repo add it to my maven dependencies, but it gives me

java.lang.NoClassDefFoundError: rlib/logging/LoggerManager
at com.jme3x.jfx.cursor.proton.ProtonCursorProvider.(ProtonCursorProvider.java:26)

looks like i haven’t some dependency in ur jar. Please explain how to use ur fork. Thank u.

Hi,

We split the development of JME-JFX in 2 branches :

  • For jme 3.1:
    • version: 2.+
    • branch: master
  • For jme 3.0:
    • version: 1.+
    • branch: jme_3.0

repository : https://dl.bintray.com/jmonkeyengine/contrib/

info for maven, sbt, gradle users available at Package jfx - empirephoenix

Thx for so fast reply. I will try it asap.

@javasabr, PR to JME3-JFX are welcome (I did some), but commit’s comment should be in “english”.

If you want to use my fork of JFX, you need to add
https://bitbucket.org/JavaSabr/rlib/src/e645b47aaf96360e6d0d641bc927b98868cc7906/RLib/build/?at=branch_2_0
to your project :slight_smile: . What version of JMonkeyEngine do you use? and what is version of LWJGL do you use? LWJGL2 or LWJG3?

My fork is very different to original, so I can’t create pull request with support of LWJGL3. But I implemented methods for working with LWJGL3 in this class:

Hi again! As i can see at https://bintray.com/empirephoenix/VGS-OSS-Releases/jfx/view2 dependency type is pom, right? Sorry for my stupid question, but am i still have to download from repo and install jar by hand or i can use this
<dependency> <groupId>com.jme3x</groupId> <artifactId>jfx</artifactId> <version>2.184.2016-04-30_145140-ccbd413</ver> <type>pom</type> </dependency>
directly? Even after i add this
<repository> <id>jmonkeyengine-contrib</id> <url>https://dl.bintray.com/jmonkeyengine/contrib/</url> </repository>
and this
<dependencyManagement> <dependencies> <dependency> <groupId>com.jme3x</groupId> <artifactId>jfx</artifactId> <version>2.183.2016-04-30_142025-c4a2fa6</version> <type>pom</type> </dependency> </dependencies> </dependencyManagement>

still can’t use com.jme3x classes. I think problem appears coz i never used pom type dependency before. Help me if possible.