【发布时间】:2012-04-11 20:46:59
【问题描述】:
我创建了一个自定义JComboBox,其中包含一个实现KeyListener 的自定义弹出窗口。我希望在按下 Tab 或 Enter 时从 cmbBox 的弹出窗口中选择一个项目,因此我为组合框和弹出窗口设置了 setFocusTraversalKeysEnabled(false)。
这种方法的问题是,现在我在容器中使用它时必须在组合框中添加另一个KeyListener,以便转移焦点。
我可以在我的自定义 JComponent 中触发转移焦点事件(假设)或类似的东西,它将转移其父组件中的焦点,这样我就不必在我使用它的任何地方添加关键侦听器。我使用了transferFocus(),但它没有转移焦点。
我还没有在Key Bindings上弄脏我的手,但是有没有一个键绑定来转移焦点?
谢谢
我正在尝试重新创建一个 sscce,但事实证明这很困难。请多多包涵。
【问题讨论】:
标签: java swing focus jcombobox key-bindings