如何将键盘重点放在单个组件上?

时间:2010-12-27 16:35:29

标签: java swing focus

我需要将键盘输入焦点保持在JPanel内的单个组件上。它适用于带有屏幕键盘的应用程序。

4 个答案:

答案 0 :(得分:1)

不确定我是否真的理解这个问题。但你可以尝试类似的东西:

otherComponents.setFocusable( false );

您可能还需要使用自定义FocusTraversalPolicy

如果您需要更多帮助,请发布展示问题的SSCCE

答案 1 :(得分:1)

按下屏幕键盘上的按钮后,最好将焦点重新放回到组件(component.grabFocus())。

或者你可以设置焦点监听器(component.addFocusListener(FocusListener l))并且永远不要通过在focusLost()的{​​{1}}方法中调用grabFocus()来放开焦点。

答案 2 :(得分:0)

这会让您在打开框架时专注于 singleComponent ,而无需更改其他内容的焦点政策:singleComponent.requestFocusInWindow();由于焦点不会冻结,您需要setFocusable(false)用于其他组件,如camicr建议。

答案 3 :(得分:-1)

猜猜:看看InputVerifier