拖放后阻止JTree扩展
拖放节点后,节点的新父节点展开。我想禁用这个。拖放后阻止JTree扩展
我扩展了类TransferHandler
并覆盖了方法importData
。 在这种方法中,我做了实际的动作。在节点移动之后,我检查父节点isExpanded
和我是否得到false
作为答案。
那么我在哪里或如何取消扩展?
也许你可以使用addTreeWillExpandListener并添加这样的监听器:
public class DisableExpansionListener implements TreeWillExpandListener {
@Override
public void treeWillExpand(TreeExpansionEvent event) throws ExpandVetoException {
throw new ExpandVetoException(event, "Disallow all expansions!");
}
@Override
public void treeWillCollapse(TreeExpansionEvent event) throws ExpandVetoException
// allow collapsing!
}
}
据我了解,它将禁用扩大树的可能性。我只想在拖放后禁用自动扩展。谢谢。 –
我知道,但您已经实现了TransferHandler,所以应该可以在拖动开始时添加侦听器,并在完成后再次将其删除。 – user3151902
好的。我看到你在那里做了什么;)我希望有一个更好的解决方案 –
为了更好地帮助更快,发布[MCVE]或[短的,独立的,正确的示例](HTTP://www.sscce .org等/)。 –