我有一个JComboBox
,有一个关键的监听器。
当我点击<enter>
时,我会触发一些动作,然后我需要关注JComboBox
!
要关注它,我可以JComboBoxObject.grabFocus();
但是transferFocus()
将焦点转移到下一个元素(我不关心焦点在哪里,只是远离组合框)不起作用。
从另一个组合框中执行grabFocus()
有效,但对我来说似乎是一个非常讨厌的黑客。有更好的解决方案吗?
答案 0 :(得分:3)
更新:从这两个组合example开始,将这些行中的任何一行添加到actionPerformed()
实现中似乎可以执行您想要的操作。
combo1.transferFocus();
combo2.requestFocusInWindow();
答案 1 :(得分:3)
我建议你先使用
.getNextFocusableComponent()
然后使用
.requestFocusInWindow()
这意味着像这样实现它,
JComboBox.getNextFocusableComponent()requestFocusInWindow();
一个重要的注意事项是 .getNextFocusableComponent()已经过时,但它可以更好地工作,你可以使用它但是如果你有任何其他解决方案,我宁愿不使用它。