Hi,

As far as we know, FXCanvas is now usable in an OSGi context with JDK 9 + Jigsaw, so you should be able to test this with the latest JDK 9 early access build.

You mentioned that the following bugs are critical for you:

https://bugs.openjdk.java.net/browse/JDK-8159227 (properly forward consumption state of key events) https://bugs.openjdk.java.net/browse/JDK-8143596 (properly forward touch gestures)
https://bugs.openjdk.java.net/browse/JDK-8088147 (custom cursors)

There is still time to fix bugs for JDK 9, but I none of the above are currently targeted for 9, and it seems unlikely that they will make it. Would you be interested in contributing fixes for these bugs? If so, then please check the following OpenJDK Wiki page [1].

You also mentioned the following RFE:

https://bugs.openjdk.java.net/browse/JDK-8143597 (API to access current mouse pointer location)

There is a vanishingly small amount of time to add replacement API for internal methods that will be hidden by the module system. It would need to be a simple, well-defined API and we need good justification to do this. Is the above needed as part of your workarounds for the three bugs mentioned earlier or is there some other reason that you need this?

-- Kevin

[1] http://openjdk.java.net/contribute/

Alexander Nyßen wrote:
The Eclipse Graphical Editing Framework (GEF) project as well as other Eclipse 
project rely on the JavaFX-SWT-integration that is realized through FXCanvas.

We at GEF, however, do not use it out-of-the-box but have created a subclass 
(http://git.eclipse.org/c/gef/org.eclipse.gef4.git/tree/org.eclipse.gef4.fx.swt/src/org/eclipse/gef4/fx/swt/canvas/FXCanvasEx.java
 
<http://git.eclipse.org/c/gef/org.eclipse.gef4.git/tree/org.eclipse.gef4.fx.swt/src/org/eclipse/gef4/fx/swt/canvas/FXCanvasEx.java>)
 to properly handle forwarding of touch gesture events (https://bugs.openjdk.java.net/browse/JDK-8143596 
<https://bugs.openjdk.java.net/browse/JDK-8143596>) through an internal delegate 
(http://git.eclipse.org/c/gef/org.eclipse.gef4.git/tree/org.eclipse.gef4.fx.swt/src/org/eclipse/gef4/fx/swt/gestures/SWT2FXEventConverter.java
 
<http://git.eclipse.org/c/gef/org.eclipse.gef4.git/tree/org.eclipse.gef4.fx.swt/src/org/eclipse/gef4/fx/swt/gestures/SWT2FXEventConverter.java>),
 and to add support for image cursors (https://bugs.openjdk.java.net/browse/JDK-8088147 
<https://bugs.openjdk.java.net/browse/JDK-8088147>). Unfortunately, both fixes provided by us require 
access to internal API and will thus - AFAIK - no longer work with Jigsaw. Forwarding of SWT key events' 
consumption state (https://bugs.openjdk.java.net/browse/JDK-8159227 
<https://bugs.openjdk.java.net/browse/JDK-8159227>) is a related issue, for which a workaround in 
client code would require access to internal API, too.

By following this list, I got the impression that it is not completely clear yet, if 
and how the JavaFX-SWT-integration will be usable in an OSGi context with Jigsaw, so 
let me at least point out that this is quite essential to us. And while 
https://bugs.openjdk.java.net/browse/JDK-8143596 
<https://bugs.openjdk.java.net/browse/JDK-8143596> is being marked as only 
„nice-to-have“, at least for us this is not the case, as an Eclipse-integrated 
graphical application that does not support modern touch devices will not really be 
acceptable. As such, let me ask whether there is a chance we can get this 
functionality migrated to FXCanvas as part of JavaFX 9. I would like to support this 
as far as I can.

Last, I would like to point out that the unavailability of a public API to retrieve the 
current mouse pointer location (https://bugs.openjdk.java.net/browse/JDK-8143597 
<https://bugs.openjdk.java.net/browse/JDK-8143597>) will definitely become a blocker 
in case the only workaround (via com.sun.glass.ui.Robot) will no longer work because of 
Jigsaw. Please consider to include a public API for this within JavaFX 9, even if the 
related Glass Robot API (https://bugs.openjdk.java.net/browse/JDK-8090763 
<https://bugs.openjdk.java.net/browse/JDK-8090763>) will not be offered yet.

Regards,
Alexander

Reply via email to