<Swing Dev> [9] Review request for 8033069: mouse wheel scroll closes combobox popup
Alexander Scherbatiy
alexandr.scherbatiy at oracle.com
Thu May 14 11:26:01 UTC 2015
The fix looks good to me.
Thanks,
Alexandr.
On 5/12/2015 9:38 PM, Sergey Bylokhov wrote:
> Hi, Alexey.
> Thanks for clarification, the fix looks good.
>
> On 07.05.15 15:31, Alexey Ivanov wrote:
>> Hi Sergey,
>>
>> The changes in BasicPopupMenuUI are similar to handling mouse events
>> for JMenu. The popup stays open if user rotates wheel over combo box
>> that opened the popup but the popup will be canceled if wheel is
>> rotated over another combo box or any other component.
>>
>> The client property "doNotCancelPopup" is set for each combo box
>> because MOUSE_PRESS logic is in BasicComboPopup.Handler.mousePressed.
>> If you click another combo box, it will open its own popup which
>> automatically hides the popup that was visible.
>>
>> In case of MOUSE_WHEEL, combo box over which mouse wheel is rotated
>> should close the popup of another combo box that opened the popup;
>> and it should do nothing if its own popup is open. Moving this logic
>> into JComboBox MouseWheelListener seems too complicated.
>>
>>
>> As for user-installed MouseWheelListener on JComboBox, of course
>> mouseWheelMoved is called but MouseWheelEvent is already marked
>> consumed. It might have a negative effect on user code if they check
>> isConsumed() flag. If the event is not consumed, the popup will be
>> closed.
>>
>> Regards,
>> Alexey
>>
>> On 06.05.2015 22:28, Sergey Bylokhov wrote:
>>> Hi, Alexey.
>>> The changes in the BasicPopupMenuUI does not look clear, I am not
>>> sure but probably it will be better to implement it in the same way
>>> as for MOUSE_PRESSED(via UIManager property)? It will add an
>>> additional configuration possibility.
>>> Can you also confirm that the case when the user install mouse wheel
>>> listener to the JComboBox still works.
>>>
>>> On 06.05.15 16:30, Alexey Ivanov wrote:
>>>> Hello Swing team,
>>>>
>>>> Could you please review the fix:
>>>> bug: https://bugs.openjdk.java.net/browse/JDK-8033069
>>>> webrev:
>>>> http://cr.openjdk.java.net/~aivanov/8033069/jdk9/webrev.00/
>>>>
>>>> Description:
>>>> If you rotate mouse wheel when combo box popup is open, the popup
>>>> gets closed.
>>>>
>>>> The fix is to always consume MOUSE_WHEEL event.
>>>>
>>>> There are two regression tests for the cases where popup has
>>>> vertical scroll bar and does not have scroll bar.
>>>>
>>>> Thanks,
>>>> Alexey
>>>
>>>
>>> --
>>> Best regards, Sergey.
>>
>
>
> --
> Best regards, Sergey.
More information about the swing-dev
mailing list