我有一个JXTree,我想以这种方式添加搜索:
当用户键入时,模型返回树的匹配元素,并在树的视图中选择第一个集合。
问题是,默认情况下,JXTree有另一个keylistener,用于选择以当前键入的字母开头的元素。
有时本机监听器最后会导致结果错误。可以采取哪些措施来防止这种行为?我不想删除固有的监听器,因为它有基于箭头的导航...(我必须重新实现。)
我已经读过这个:Is the order in which KeyListeners will be called guaranteed?,但我不认为我可以毫不费力地创建提议的侦听器包装器,因为BasicTreeUI的Handler类是私有的。
答案 0 :(得分:3)
这不是JXTree的特色,而是JTree。重写JTree#getNextMatch()以始终返回null应禁用按键上的JTree选择。