1

我有JComboBox一个关键听众。

当我击中时<enter>,我会启动一些动作,然后我需要失去对JComboBox

专注于它,我可以做JComboBoxObject.grabFocus();

但是transferFocus()将焦点转移到下一个元素(我不在乎焦点在哪里,只是远离组合框)不起作用。

grabFocus()另一个组合框进行操作,但对我来说似乎是一个非常烦人的黑客行为。有更好的解决方案吗?

4

2 回答 2

3

更新:从这两个组合示例开始,将这些行中的任何一行添加到actionPerformed()实现中似乎都可以满足您的要求。

combo1.transferFocus();
combo2.requestFocusInWindow();
于 2013-08-07T18:55:09.067 回答
3

我可以建议你先使用

.getNextFocusableComponent()

然后使用

.requestFocusInWindow()

这意味着像这样实现它,

JComboBox.getNextFocusableComponent().requestFocusInWindow();

一个重要的注意事项是.getNextFocusableComponent()已经过时,但它可以工作得更好,你可以使用它,但如果你有任何其他解决方案,我宁愿不使用它。

于 2013-08-07T19:08:31.070 回答