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 Is there anything more I need to do to get this PR approved? Beyond creating a comprehensive focus-delegation framework from scratch? I'm not in a hurry to get this into JavaFX 27. These controls have all sorts of oddball behavior and bugs and developers have had to resort to some interesting and fragile workarounds. Based on what I'm seeing in the bug database it looks like any time we touch ComboBox or Spinner we break some client's filtering routine and I'd prefer to deal with that at the start of a release cycle rather than the end. ------------- PR Comment: https://git.openjdk.org/jfx/pull/2166#issuecomment-4961148276
