Hi Anton,

Shouldn't touch keyboard remain visible if Tab key on the touch keyboard itself is pressed? Provided the next focusable component is a text component, of course.

Consider the following scenario: start Notepad and open Replace dialog. Touch "Find what" field: the touch keyboard appears. Press Tab on the touch keyboard: the focus moves to "Replace with" field and touch keyboard stays visible.


Regards,
Alexey

On 16/04/2018 13:03, Anton Litvinov wrote:
Hello,

Could you please review the following fix for the bug.

Bug: https://bugs.openjdk.java.net/browse/JDK-8199748
Webrev: http://cr.openjdk.java.net/~alitvinov/8199748/jdk11/webrev.00

In the fix for JDK-8166772 it was deliberately implemented that the touch keyboard is shown only on "MouseEvent.MOUSE_RELEASED" event and is hidden on "FocusEvent.FOCUS_LOST" event.

The reason of the bug is the fact that, when the touch keyboard is already shown for one text component and a user touches another text component, then the following 2 events occur in the presented order: 1. "MouseEvent.MOUSE_RELEASED" event arrives. The touch keyboard is shown for the new text component. 2. "FocusEvent.FOCUS_LOST" event arrives for the previous text component. The touch keyboard shown for the new text component becomes hidden.

The fix allows not to hide the touch keyboard during processing of "FocusEvent.FOCUS_LOST" event, if the touch keyboard has just been shown, as a result of processing of "MouseEvent.MOUSE_RELEASED" event, for the component which gets focus "FocusEvent.getOppositeComponent()".

Thank you,
Anton

Reply via email to