Removal of com.sun.javafx.robot

Kevin Rushforth kevin.rushforth at oracle.com
Fri May 13 14:47:35 UTC 2016


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 <hastebrot at 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
>>
>>
>>     


More information about the openjfx-dev mailing list