在我的应用程序中,我得到一个要关注的组件, 它可以是一个jpanel,可以是一个jbutton或一个用户自定义组件
我怎么知道何时调用transferFosus,以及何时调用requestFocus
谢谢你
答案 0 :(得分:3)
transferFocus()
将焦点发送到下一个组件。 另请注意
transferFocus()
将始终将焦点转移到前进方向。
requestFocus()
将焦点发送到调用组件。但是,不能保证这会成功。焦点行为在某种程度上取决于平台。
获得焦点的推荐提示是使用requestFocusInWindow()
。参考this post - 在使用焦点时可能非常方便。
答案 1 :(得分:1)
如果要根据焦点顺序提前对焦,请使用transferFocus()。 requestFocus()用于将焦点显式设置为组件。
中的一些背景阅读答案 2 :(得分:0)
您很少需要调用它,因为它通常适合让用户的键盘/鼠标操作确定焦点。但是,transferFocus会将焦点从您的组件中移开,而requestFocus会将焦点转移到您的组件上。