Removal of com.sun.javafx.robot

Benjamin Gudehus hastebrot at
Fri May 13 05:47:51 UTC 2016

**Update:** I've found a work-around and quickly tested it on our test
suite. Previously we needed `FXRobot::keyPress()`, `FXRobot::keyType()`,
and `FXRobot::keyRelease()`. Since Java 8 it is possible to use
`Event.fireEvent()` and create three `KeyEvent`s (PRESS, TYPE, RELEASE).

Platform.runLater(() -> {
    Event.fireEvent(scene.getFocusOwner(), keyEvent);

The amount of needed changes for this work-around is small. No revert is


On Fri, May 13, 2016 at 6:53 AM, Benjamin Gudehus <hastebrot at>

> Hey,
> yesterday a code change was made [1, 2] which removes FXRobot and the
> com.sun.javafx.robot package in JavaFX 9.
> >The com.sun.javafx.robot package contains obsolete, unused Prism
> functionality that was intended for testing automation. It was superseded
> long ago by glass Robot and should be removed as dead code.
> Unfortunately FXRobot allows a use-case which is not covered by the glass
> robot. In TestFX we use the FXRobot to fire keytyped events that allow to
> type arbitrary (Unicode) characters. This solves multiple issues related to
> non-english keyboards and special characters and simplifies simulation of
> keyboard input greatly. There is also a commercial JavaFX framework that
> uses FXRobot to solve this issue; I spoke with the developers a while ago.
> If possible, could this change be reverted?
> [1]
> [2]
> Regards,
> Benjamin

More information about the openjfx-dev mailing list