java中的干扰键侦听器

java中的干扰键侦听器,java,swing,jtree,keylistener,swingx,Java,Swing,Jtree,Keylistener,Swingx,我有一个JXTree,我想通过这种方式添加搜索: 当用户键入时,模型返回树的匹配元素,并在树视图中选择集合的第一个元素。 问题是,默认情况下JXTree有另一个keylistener,它选择以当前键入的字母开头的元素。 有时,本机侦听器最后一次触发导致结果错误。如何防止这种行为?我不想删除固有的侦听器,因为它有基于箭头的导航。。。(我必须重新实施。) 我已经读过这篇文章了,但我认为我不可能不费吹灰之力就创建建议的侦听器包装器,因为BasicTreeUI的处理程序类是私有的。这不是JXTree的特

我有一个JXTree,我想通过这种方式添加搜索:
当用户键入时,模型返回树的匹配元素,并在树视图中选择集合的第一个元素。 问题是,默认情况下JXTree有另一个keylistener,它选择以当前键入的字母开头的元素。
有时,本机侦听器最后一次触发导致结果错误。如何防止这种行为?我不想删除固有的侦听器,因为它有基于箭头的导航。。。(我必须重新实施。)
我已经读过这篇文章了,但我认为我不可能不费吹灰之力就创建建议的侦听器包装器,因为BasicTreeUI的处理程序类是私有的。

这不是JXTree的特性,而是JTree的特性。将JTree#getNextMatch()重写为始终返回null将禁用按键时的JTree选择。

我刚刚进行了一次快速尝试,但这似乎确实有效。谢谢