<AWT Dev> FW:  JDK-8178361: JFileChooser does not allow to open folders with a double tap when using the touch screen interface
shashidhara.veerabhadraiah at oracle.com
Mon Sep 25 06:46:55 UTC 2017
Hi Alexey, Please see below for my replies:
[Attachments will be shared upon request as they are of considerable size and cannot be sent to AWT dev group because of the email size limitation.]
Thanks and regards,
From: Alexey Ivanov
Sent: Friday, September 22, 2017 5:26 PM
To: Shashidhara Veerabhadraiah < HYPERLINK "mailto:shashidhara.veerabhadraiah at oracle.com" shashidhara.veerabhadraiah at oracle.com>; Sergey Bylokhov < HYPERLINK "mailto:sergey.bylokhov at oracle.com" sergey.bylokhov at oracle.com>
Cc: HYPERLINK "mailto:awt-dev at openjdk.java.net" awt-dev at openjdk.java.net
Subject: Re: <AWT Dev>  JDK-8178361: JFileChooser does not allow to open folders with a double tap when using the touch screen interface
On 19/09/2017 04:35, Shashidhara Veerabhadraiah wrote:
> Hi Sergey, When I checked it was not working on the Java applications. None of the controls could take touch click events but it used to highlight because when we touch on the touch screen interface the system moves the cursor over to the touch point thereby enabling mouse focus events being sent.
I cannot grasp the meaning of this sentence.
What are touch click events?
[Shashi] Below are the related macros:
#define WM_LBUTTONDOWN 0x0201
#define WM_LBUTTONDBLCLK 0x0203
#define WM_POINTERDOWN 0x0246
[Shashi] More appropriately, touch double tap events. On a technical note, whenever I did a double tap touch on the folder I could get WM_POINTERDOWN(0x0246) and none of the left button down or left button double click events. I have attached the proof for the same captured as text file(for both touch double tap and a mouse double click events). Please note that this behavior is seen after the removal of EnableMouseInPointer() as it is not required anymore(Please see for the reply to your other email). I could not get left double click event but instead only the left button down events via the mouse double click. I think we use the time gap between the left button down events and then convert to a double click event internally.
[Shashi] So in a way we can conclude that after we do a touch double tap action there was no left button down events that we received. Please note that this is the behavior if we do a double tap touch on the file icon.
What are mouse focus events?
[Shashi] Since there are 2 components in the file chooser. One is the icon and another is the file name. In the Java implementation the file chooser dialog has the icon representations being pretty small and usually it is difficult to exactly tap on the icon!! If there is a touch tap onto the file name we do receive left button down and as well as pointer down messages. I have attached a file containing the proof of it for the same.
[Shashi] This is actually a surprise for me and also tells me that the type of an icon component and the file name components are having different behaviors. I am not sure how I can change this behavior of the icon component.
With this fix, we can touch on all the icons and have the required actions being performed as expected, which was not happening earlier.
So the fix is not JFileChooser-specific, is it?
[Shashi] No it is not. It enables the touch for all the components.
> Thanks and regards,
> -----Original Message-----
> From: Sergey Bylokhov
> Sent: Tuesday, September 19, 2017 3:39 AM
> To: HYPERLINK "mailto:shashidhara.veerabhadraiah at oracle.com" shashidhara.veerabhadraiah at oracle.com >> Shashidhara
> Veerabhadraiah < HYPERLINK "mailto:shashidhara.veerabhadraiah at oracle.com" shashidhara.veerabhadraiah at oracle.com>
> Cc: HYPERLINK "mailto:awt-dev at openjdk.java.net" awt-dev at openjdk.java.net
> Subject: Re: <AWT Dev>  JDK-8178361: JFileChooser does not allow
> to open folders with a double tap when using the touch screen
> Hi, Shashi.
> Why the bug is JFileChooser specific?
> Does it means that it works for other elements(buttons/lists/menu/etc)?
> On 9/18/17 08:58, Shashidhara Veerabhadraiah wrote:
>> Hi All, Please review this software changes for the /_enhancement_/
>> Issue: Request was filed to enable the touch event processing for
>> Java client applications.
>> Fix: Windows platform offers 'pointer' implementation thro' which one
>> can tap for the touch inputs as well. A typical 'pointer' function
>> may contain touch, pen, touch pad or mouse inputs. This allows for a
>> uniform input processing though the event source may defer. This fix
>> enables the 'touch' events(via TOUCH pointer) to be passed to the
>> components using the other type of pointer 'mouse'. Essentially there
>> is a conversion put in place to convert a touch event input into a
>> left click mouse event. I think this is the right thing to do
>> considering desktop scenarios to which the typical Java applications
>> that gets exposed to. This is also the same behavior on my touch
>> enabled windows 10 laptop as well. Please let me know if a different behavior is expected. Below is the output:
>> Now touch event works as a typical mouse left click as in general.
>> But there is an issue because the icon size of the Java UI is
>> typically small, touching that icon exactly is sometimes difficult.
>> This is handled by an Windows application by having larger icon size
>> or icon view as a standard. Hence I believe this is outside the scope
>> this software update. Any changes to it would be done later as a new
>> bug or an enhancement.
>> Bug ID: https://bugs.openjdk.java.net/browse/JDK-8178361
>> Webrev: http://cr.openjdk.java.net/~sveerabhadra/8178361/webrev.00/
>> Thanks and regards,
> Best regards, Sergey.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the awt-dev