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
