捕获“Tab”键,同时按下聚焦组件及其容器

时间:2011-08-14 18:33:22

标签: java swing tabs

有没有办法将按键传播从JTextField传播到其容器的KeyListener实现?

因此,实际上,文本字段和JPanel都会对按键执行操作。现在,文本字段正在消耗按键,因此不存在于下面的JPanel

2 个答案:

答案 0 :(得分:2)

在Swing中,选项卡键用于将焦点从一个组件更改为另一个组件。文章Validating Input讨论了InputVerifier,它可以帮助您做您想做的事。

答案 1 :(得分:1)

问题是你为什么要这样做?您的实际要求与您尝试的解决方案相反。由两个组件处理事件通常不是一个好主意。

通常,您不应使用KeyListeners。 Swing旨在使用Key Bindings。但是,在这种情况下,它无济于事,因为如前所述,焦点子系统处理Tab键。

如果这是您问题的唯一解决方案,那么我认为您可以使用KeyEventPostProcessor来侦听任何KeyEvent。有关详细信息,请参阅Global Event Listeners