Ah, that's good.
-- Kevin
Benjamin Gudehus wrote:
**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).
~~~java
Platform.runLater(() -> {
Event.fireEvent(scene.getFocusOwner(), keyEvent);
});
~~~
The amount of needed changes for this work-around is small. No revert is
needed.
Thanks,
Benjamin
On Fri, May 13, 2016 at 6:53 AM, Benjamin Gudehus <hasteb...@gmail.com>
wrote:
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] https://bugs.openjdk.java.net/browse/JDK-8156809
[2] http://cr.openjdk.java.net/~kcr/8156809/webrev.00/
Regards,
Benjamin