我覆盖了DefaultKeyboardFocusManager来为Alt键提供一些特殊的行为。但是,设置此选项后,我注意到在某些文本字段上单击Tab无效。
我也尝试过甚至在AWT上调用以下内容,但是这仍然表现出残破的Tab行为:
KeyboardFocusManager.setCurrentKeyboardFocusManager(new DefaultKeyboardFocusManager());
为什么设置当前的键盘焦点管理器会有如此糟糕的效果?
最佳答案
我也碰到了这个问题。在开发自定义KeyboardFocusManager时,我注意到甚至调用了:
KeyboardFocusManager.setCurrentKeyboardFocusManager(new DefaultKeyboardFocusManager());
会改变行为。
似乎正在进行一些早期初始化,而在我的情况下,解决方法是在显示任何UI资源之前设置KeyboardFocusManager。我在应用程序的main()函数顶部执行了此操作,然后KeyboardFocusMangers正常工作(默认值和自定义值)。