On Tue, 19 May 2026 15:34:43 GMT, Martin Fox <[email protected]> wrote:

>> This PR alters the way ComboBox and Spinner deliver KeyEvents to their 
>> TextField editors. When a ComboBox or Spinner is the focus owner it is the 
>> target of all key events. Currently the skin installs a filter to catch key 
>> events and re-fire most of them at the TextEdit. The skin copies the event, 
>> fires the copy at the TextField, and then consumes the original event. This 
>> confuses the system menu bar logic on macOS; only the original event can 
>> trigger a menu item and that event is always being consumed.
>> 
>> In this PR only the original key event makes its way up and down the event 
>> dispatch chain. To drive the TextField the skin delivers the event copy 
>> directly to the TextField's event dispatcher and only consumes the original 
>> event if the TextField consumes the copy.
>> 
>> ---------
>> - [x] I confirm that I make this contribution in accordance with the 
>> [OpenJDK Interim AI Policy](https://openjdk.org/legal/ai).
>
> Martin Fox has updated the pull request incrementally with one additional 
> commit since the last revision:
> 
>   Better comments for dispatching utility

While this PR seems to fix an actual bug, it also runs the risk of preempting 
the discussion on focus delegation / multi-level focus that we've had several 
times, but never reached a conclusion. I wouldn't want this proposed solution 
(directly dispatching the event to its final target) to be the last word on the 
topic of focus delegation, especially when it comes to a potential API-level 
solution.

-------------

PR Comment: https://git.openjdk.org/jfx/pull/2166#issuecomment-4499877327

Reply via email to