KeyboardFocusManager.setCurrentKeyboardFocusManager()打破焦点

时间:2009-10-08 04:24:38

标签: java swing focus

我重写了DefaultKeyboardFocusManager,为Alt键提供了一些特殊的行为。但是,设置完成后,我注意到在某些文本字段上按Tab键不起作用。

我还尝试在AWT上调用以下内容,但这仍然表现出破坏的Tab行为:

  

KeyboardFocusManager.setCurrentKeyboardFocusManager(new DefaultKeyboardFocusManager());

为什么设置当前键盘焦点管理器会产生如此糟糕的效果?

2 个答案:

答案 0 :(得分:2)

我也遇到了这个问题。在开发自定义KeyboardFocusManager时,我注意到甚至调用:

KeyboardFocusManager.setCurrentKeyboardFocusManager(new DefaultKeyboardFocusManager());

会改变行为。

似乎正在进行一些早期初始化,我的情况下的修复是在我显示任何UI资源之前设置KeyboardFocusManager。我在我的应用程序的main()函数的顶部做了这个,然后KeyboardFocusMangers按预期工作(默认和我的自定义)。

答案 1 :(得分:0)

你写了一些自定义代码,现在你有问题吗?这里只是一个猜测,但问题可能在于您的代码?

如果您需要更多帮助,请发布SSCCE