在我的独立 JavaFX 2 应用程序中,按下 Escape 键应该会触发一个关闭应用程序的事件。但后来它开始不偶尔工作。通过进一步的测试,我意识到当主显示屏上的几个 ComboBox 组件中的任何一个具有焦点时,点击 Escape 没有任何作用。但是,如果您随后单击 TableView、TextBox、Button 等来为它们提供焦点,它会正常工作。如果焦点返回到 ComboBox,它也会再次停止。无论哪个项目具有焦点,将触发事件更改为其他 KeyCode 似乎都可以解决问题。
如此集中的 ComboBoxes 似乎正在消耗 KeyCode.ESCAPE 事件。但为什么?有没有办法解决这个问题而不会阻止他们获得焦点或将事件处理程序更改为其他键?