将焦点从一个组件转移到另一个组件
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将焦点从一个组件转移到另一个组件相关的知识,希望对你有一定的参考价值。
当我(程序)遇到某种情况时,如何将焦点从一个组件转移到另一个组件?就像焦点在第一个文本字段中移动到下一个文本字段时,字长达到3。
答案
- 订阅第一部分的
keyDown
活动。 - 如果
text length == 3
将焦点转移到另一个组件。不要忘记撤消当前键的效果 - 我想
focus()
或requestFocusInWindow()
方法可以使用。不记得确切的名字。
同样,可以订阅TextChanged
事件。因此,添加ASA 3字符,使用步骤3移动焦点。
另一答案
你可以这样做:
if(jTextField1.getText().length() == 2 ){ // if the req. length is 3
// shift the focus to next text field
jTextField2.requestFocusInWindow();
}
另一答案
这很好..
Component currentFocusOwner = KeyboardFocusManager.getCurrentKeyboardFocusManager().getFocusOwner();
FocusEvent focusLostEvent = new FocusEvent(currentFocusOwner, 1005, true, destinationComponent);
FocusEvent focusGainEvent = new FocusEvent(destinationComponent, 1004, true, currentFocusOwner);
try
{
currentFocusOwner.dispatchEvent(focusLostEvent);
destinationComponent.dispatchEvent(focusGainEvent);
}
catch(Exception e)
{
Logger.logExceptionMessage(e);
}
以上是关于将焦点从一个组件转移到另一个组件的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 JetpackNavigation 组件从 BottomSheetDialogFragment 导航到另一个 Fragment