-
Enhancement
-
Resolution: Unresolved
-
P4
-
None
-
None
In OpenJFX, the Glass component is responsible for the interaction between the JavaFX application and an underlying window system. Almost by definition, this typically requires the usage of native platform (window) specific code.
In some JavaFX use cases, it is desired to not have any output to a window/screen at all.
Currently, the Monocle platform is often used in those cases, as it provides a Headless subplatform. The drawback of this approach is that apart from a Headless subplatform, Monocle also contains a number of other platforms that contain very platform-specific code and requires very specific toolchains.
While the Headless subplatform is almost platform agnostic, the process of building, distributing/bundling and running Monocle itself is very platform-specific.
A first-class headless glass platform would address the usecases where a headless context is required, without being bundled with code that is designed to be highly platform-specific.
In this POC, we propose a headless platform that can be set via -Dglass.platform=Headless and that will execute the JavaFX application without rendering to a screen/window.
A Robot implementation should be delivered as well, allowing JavaFX tests to be executed on this lightweight, headless platform.
In some JavaFX use cases, it is desired to not have any output to a window/screen at all.
Currently, the Monocle platform is often used in those cases, as it provides a Headless subplatform. The drawback of this approach is that apart from a Headless subplatform, Monocle also contains a number of other platforms that contain very platform-specific code and requires very specific toolchains.
While the Headless subplatform is almost platform agnostic, the process of building, distributing/bundling and running Monocle itself is very platform-specific.
A first-class headless glass platform would address the usecases where a headless context is required, without being bundled with code that is designed to be highly platform-specific.
In this POC, we propose a headless platform that can be set via -Dglass.platform=Headless and that will execute the JavaFX application without rendering to a screen/window.
A Robot implementation should be delivered as well, allowing JavaFX tests to be executed on this lightweight, headless platform.