RobertBColton / DockFX

A fully featured docking library for the JavaFX platform.
Mozilla Public License 2.0
278 stars 106 forks source link

JavaFX 11 problems #38

Open PatrickJP opened 5 years ago

PatrickJP commented 5 years ago

Hi Robert, I have been using DockFX for some time, and with javafx 8 everything was great! ... then came javafx 9 and above, and although I have overcome a number of "javafx does not export ... " problems I currently have one that --add-exports etc does not seem to solve: I getting the run-time error "class org.dockfx.DockEvent (in module DockingFramesFX11.Lib) cannot access class com.sun.javafx.scene.input.InputEventUtils (in module javafx.graphics) because javafx.graphics does not export com.sun.javafx.scene.input to module DockingFrames.Lib" Where DockingFrames.Lib is an unnamed module and I have --add-exports=javafx.graphics/com.sun.javafx.scene.input=ALL-UNNAMED set as an argument to VM. Can you offer any solution or insight as to how I can get around this and any future javafx module access problems? Thanks for any help you can give me. Regards Patrick Philips.

RobertBColton commented 5 years ago

Hi Patrick, I am terribly sorry but I have not been keeping up on the Java modularization efforts. I have been busy with other open source projects in C++/Qt. I will need to research some of the JVM changes at some point here and I'm terribly sorry I can't really offer any insight that you probably aren't already aware of.

I'll leave this ticket open and if I find time to build it with JavaFX11 myself I will reply here and update the ticket. Thank you.

PatrickJP commented 5 years ago

Hi Robert,                Thanks for the quick reply. I know what it's like, trying to keep up with all the changes ... impossible!I will keep working on it, and if I do find a suitable solution ( one that doesn't involve modifying Openjfx itself) I will post it on your github thread. Otherwise if you do get timeto look at this and find a solution before I do please let me know. ThanksRegardsPatrick. On Friday, December 7, 2018, 3:54:28 p.m. EST, Robert Colton notifications@github.com wrote:

Hi Patrick, I am terribly sorry but I have not been keeping up on the Java modularization efforts. I have been busy with other open source projects in C++/Qt. I will need to research some of the JVM changes at some point here and I'm terribly sorry I can't really offer any insight that you probably aren't already aware of.

I'll leave this ticket open and if I find time to build it with JavaFX11 myself I will reply here and update the ticket. Thank you.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or mute the thread.

jasons2000 commented 5 years ago

Hi Patrick, you should check out some of the other forks of JavaFX, it might help you to find what you are looking for.

Jason

------ Original Message ------ From: "Patrick Philips" notifications@github.com To: "RobertBColton/DockFX" DockFX@noreply.github.com Cc: "Subscribed" subscribed@noreply.github.com Sent: 08/12/2018 22:23:52 Subject: Re: [RobertBColton/DockFX] JavaFX 11 problems (#38)

Hi Robert, Thanks for the quick reply. I know what it's like, trying to keep up with all the changes ... impossible!I will keep working on it, and if I do find a suitable solution ( one that doesn't involve modifying Openjfx itself) I will post it on your github thread. Otherwise if you do get timeto look at this and find a solution before I do please let me know. ThanksRegardsPatrick. On Friday, December 7, 2018, 3:54:28 p.m. EST, Robert Colton notifications@github.com wrote:

Hi Patrick, I am terribly sorry but I have not been keeping up on the Java modularization efforts. I have been busy with other open source projects in C++/Qt. I will need to research some of the JVM changes at some point here and I'm terribly sorry I can't really offer any insight that you probably aren't already aware of.

I'll leave this ticket open and if I find time to build it with JavaFX11 myself I will reply here and update the ticket. Thank you.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or mute the thread. — You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/RobertBColton/DockFX/issues/38#issuecomment-445494381, or mute the thread https://github.com/notifications/unsubscribe-auth/AEBVpBMHl3DlknYu4l4AycPo40X6XxITks5u3Dv4gaJpZM4ZIv0M.

PatrickJP commented 5 years ago

Hi Jason,             Thanks for the reply. When you say alternative forks, which forks specifically are you referring to? I have been using the Gluon downloads as these seemed to be the best option for ready built OpenJFX. I had built the jars myself previously from the source but stopped doing that when Gluon started producing a more or less "certified" build of OpenJFX 11. ThanksPatrick. On Saturday, December 8, 2018, 5:26:24 p.m. EST, jasons2000 notifications@github.com wrote:

Hi Patrick, you should check out some of the other forks of JavaFX, it might help you to find what you are looking for.

Jason

------ Original Message ------ From: "Patrick Philips" notifications@github.com To: "RobertBColton/DockFX" DockFX@noreply.github.com Cc: "Subscribed" subscribed@noreply.github.com Sent: 08/12/2018 22:23:52 Subject: Re: [RobertBColton/DockFX] JavaFX 11 problems (#38)

Hi Robert, Thanks for the quick reply. I know what it's like, trying to keep up with all the changes ... impossible!I will keep working on it, and if I do find a suitable solution ( one that doesn't involve modifying Openjfx itself) I will post it on your github thread. Otherwise if you do get timeto look at this and find a solution before I do please let me know. ThanksRegardsPatrick. On Friday, December 7, 2018, 3:54:28 p.m. EST, Robert Colton notifications@github.com wrote:

Hi Patrick, I am terribly sorry but I have not been keeping up on the Java modularization efforts. I have been busy with other open source projects in C++/Qt. I will need to research some of the JVM changes at some point here and I'm terribly sorry I can't really offer any insight that you probably aren't already aware of.

I'll leave this ticket open and if I find time to build it with JavaFX11 myself I will reply here and update the ticket. Thank you.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or mute the thread. — You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/RobertBColton/DockFX/issues/38#issuecomment-445494381, or mute the thread https://github.com/notifications/unsubscribe-auth/AEBVpBMHl3DlknYu4l4AycPo40X6XxITks5u3Dv4gaJpZM4ZIv0M.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or mute the thread.

schelldorfer commented 5 years ago

My fork https://github.com/schelldorfer/DockFX is running on JDK 11 with OpenJFX.

schelldorfer commented 5 years ago

we had to add the following add-exports to the command line (some of them might be related to other libraries we're using)

--add-modules=javafx.controls,javafx.graphics \ --module-path=/mps/lib/javafx-sdk-11.0.1/lib \ --add-opens=javafx.graphics/javafx.scene=ALL-UNNAMED \ --add-exports=javafx.graphics/com.sun.javafx.css=ALL-UNNAMED \ --add-exports=javafx.graphics/com.sun.javafx.util=ALL-UNNAMED \ --add-exports=javafx.base/com.sun.javafx.reflect=ALL-UNNAMED \ --add-exports=javafx.base/com.sun.javafx.beans=ALL-UNNAMED \ --add-exports=javafx.graphics/com.sun.javafx.scene=ALL-UNNAMED \ --add-exports=javafx.graphics/com.sun.javafx.sg.prism=ALL-UNNAMED \ --add-exports=javafx.base/com.sun.javafx.logging=ALL-UNNAMED \ --add-exports=javafx.graphics/com.sun.prism=ALL-UNNAMED \ --add-exports=javafx.graphics/com.sun.glass.ui=ALL-UNNAMED \ --add-exports=javafx.graphics/com.sun.javafx.geom.transform=ALL-UNNAMED \ --add-exports=javafx.graphics/com.sun.javafx.tk=ALL-UNNAMED \ --add-exports=javafx.graphics/com.sun.glass.utils=ALL-UNNAMED \ --add-exports=javafx.graphics/com.sun.javafx.font=ALL-UNNAMED \ --add-exports=javafx.controls/com.sun.javafx.scene.control=ALL-UNNAMED \ --add-exports=javafx.graphics/com.sun.javafx.scene.input=ALL-UNNAMED \ --add-exports=javafx.graphics/com.sun.javafx.application=ALL-UNNAMED \ --add-exports=javafx.graphics/com.sun.javafx.geom=ALL-UNNAMED \ --add-exports=javafx.graphics/com.sun.javafx.iio=ALL-UNNAMED \ --add-exports=javafx.graphics/com.sun.prism.paint=ALL-UNNAMED \ --add-exports=javafx.graphics/com.sun.scenario.effect=ALL-UNNAMED \ --add-exports=javafx.graphics/com.sun.scenario.effect.impl=ALL-UNNAMED \ --add-exports=javafx.graphics/com.sun.scenario.effect.impl.prism=ALL-UNNAMED \ --add-exports=javafx.graphics/com.sun.javafx.text=ALL-UNNAMED \ --add-exports=javafx.graphics/com.sun.javafx.scene=ALL-UNNAMED \ --add-exports=javafx.graphics/com.sun.javafx.scene.text=ALL-UNNAMED \ --add-exports=javafx.graphics/javafx.scene.paint=ALL-UNNAMED \ --add-exports=javafx.controls/com.sun.javafx.scene.control.behavior=ALL-UNNAMED \ --add-exports=javafx.controls/com.sun.javafx.scene.control.inputmap=ALL-UNNAMED \ --add-exports=javafx.graphics/com.sun.javafx.scene.traversal=ALL-UNNAMED \

PatrickJP commented 5 years ago

Hi Schelldorfer,                        Thanks for the fork link and the add-exports commands. I had in fact omitted a couple of required add-exports which you showed in your list; so thanks for that, it enabled me to get things built and running again. On another topic, have you run up against a .css style sheet problem where the -fx-background  and other -fx-xxxx values used in property value pairs cannot be resolved? These all worked fine in javafx8 but not in 11. In the DockingFX default css file I just substituted actual #xxxxxxxx values for the -fx reference, however I am using the Gluon ControlsFX library and this throws a class cast exception because it cannot resolve the "-fx-background-color: -fx-background"   statement.Please let me know if you have come across anything like this. ThanksPatrick. On Monday, December 10, 2018, 2:46:07 a.m. EST, Schelldorfer notifications@github.com wrote:

we had to add the following add-exports to the command line (some of them might be related to other libraries we're using)

--add-modules=javafx.controls,javafx.graphics --module-path=/mps/lib/javafx-sdk-11.0.1/lib --add-opens=javafx.graphics/javafx.scene=ALL-UNNAMED --add-exports=javafx.graphics/com.sun.javafx.css=ALL-UNNAMED --add-exports=javafx.graphics/com.sun.javafx.util=ALL-UNNAMED --add-exports=javafx.base/com.sun.javafx.reflect=ALL-UNNAMED --add-exports=javafx.base/com.sun.javafx.beans=ALL-UNNAMED --add-exports=javafx.graphics/com.sun.javafx.scene=ALL-UNNAMED --add-exports=javafx.graphics/com.sun.javafx.sg.prism=ALL-UNNAMED --add-exports=javafx.base/com.sun.javafx.logging=ALL-UNNAMED --add-exports=javafx.graphics/com.sun.prism=ALL-UNNAMED --add-exports=javafx.graphics/com.sun.glass.ui=ALL-UNNAMED --add-exports=javafx.graphics/com.sun.javafx.geom.transform=ALL-UNNAMED --add-exports=javafx.graphics/com.sun.javafx.tk=ALL-UNNAMED --add-exports=javafx.graphics/com.sun.glass.utils=ALL-UNNAMED --add-exports=javafx.graphics/com.sun.javafx.font=ALL-UNNAMED --add-exports=javafx.controls/com.sun.javafx.scene.control=ALL-UNNAMED --add-exports=javafx.graphics/com.sun.javafx.scene.input=ALL-UNNAMED --add-exports=javafx.graphics/com.sun.javafx.application=ALL-UNNAMED --add-exports=javafx.graphics/com.sun.javafx.geom=ALL-UNNAMED --add-exports=javafx.graphics/com.sun.javafx.iio=ALL-UNNAMED --add-exports=javafx.graphics/com.sun.prism.paint=ALL-UNNAMED --add-exports=javafx.graphics/com.sun.scenario.effect=ALL-UNNAMED --add-exports=javafx.graphics/com.sun.scenario.effect.impl=ALL-UNNAMED --add-exports=javafx.graphics/com.sun.scenario.effect.impl.prism=ALL-UNNAMED --add-exports=javafx.graphics/com.sun.javafx.text=ALL-UNNAMED --add-exports=javafx.graphics/com.sun.javafx.scene=ALL-UNNAMED --add-exports=javafx.graphics/com.sun.javafx.scene.text=ALL-UNNAMED --add-exports=javafx.graphics/javafx.scene.paint=ALL-UNNAMED --add-exports=javafx.controls/com.sun.javafx.scene.control.behavior=ALL-UNNAMED --add-exports=javafx.controls/com.sun.javafx.scene.control.inputmap=ALL-UNNAMED --add-exports=javafx.graphics/com.sun.javafx.scene.traversal=ALL-UNNAMED \

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or mute the thread.

linouxis9 commented 5 years ago

Hi @schelldorfer, I'm having some issues using your fork. For instance, when undocking a DockNode by dragging the node, the node is undocked but then it's impossible to attach it back or move the node at all, DockingButtons are sized and centered as if the JavaFX application was in fullscreen. However, everything works smoothly if you manually undock the DockNode using the DockTitleBar. This issue seems to only be reproducible on Linux, and no issues are to be found on Windows. No exceptions are logged. Any pointers on where the issue might be?

Best regards. (CC: @RobertBColton)

RobertBColton commented 3 years ago

Small update here, I've enabled Azure Pipelines on the repository in an attempt to get CI builds going and perhaps streamline further development of the project, but have run into some issues. If anybody experienced with the new Java 11 modularity is interested in helping take a look at #43 where I was trying to get the jar to build in Azure.

I was trying to get it to build against JDK 8 because I am not sure if users of this library are still interested in supporting Java 8 or not. If that is the case, then I'd like to retain JDK 8 support in the library for the foreseeable future. Regardless if anybody can get this building, say against OpenJDK11/OpenJFX11, and we can still target JDK 8 bytecode compatibility, then I am willing to accept the changes.