Java 确定是否在JTree中删除了节点
现在,我的Java 确定是否在JTree中删除了节点,java,swing,jtree,Java,Swing,Jtree,现在,我的JTree上有一个TreeSelectionListener。这个很好用。但是,我需要检测节点已被删除的情况。我不知道如何使用TreeSelection事件来实现这一点 我在JavaDoc中没有看到关于它的任何东西。我在寻找类似于tablemodeleevent的东西,它有一个getType()方法,可以让您知道是否有东西被更新、删除或插入到表中。你知道怎么能检测到吗 我不能使用TreeModelListener,因为当我调用时: ((DefaultTreeModel)getModel
JTree
上有一个TreeSelectionListener
。这个很好用。但是,我需要检测节点已被删除的情况。我不知道如何使用TreeSelection事件来实现这一点
我在JavaDoc中没有看到关于它的任何东西。我在寻找类似于tablemodeleevent
的东西,它有一个getType()
方法,可以让您知道是否有东西被更新、删除或插入到表中。你知道怎么能检测到吗
我不能使用TreeModelListener,因为当我调用时:
((DefaultTreeModel)getModel()).removeNodeFromParent(node);
在我的树上,它触发要激发的valueChanged(TreeSelectionEvent)
。这就是我想要逃避的
比如:
public void valueChanged(TreeSelectionEvent treeSelectionEvent){
if(treeSelectionEvent.someMethod()){ <----need this
return;
}
}
public void值已更改(TreeSelectionEvent TreeSelectionEvent){
如果(treeSelectionEvent.someMethod()){
我需要检测节点已被删除的情况
要检测节点已被删除,您可以使用一个简单的示例:
DefaultTreeModel model = new DefaultTreeModel(new DefaultMutableTreeNode("Root"));
JTree tree = new JTree(model);
model.addTreeModelListener(new TreeModelListener(){
public void treeNodesRemoved(TreeModelEvent e){
//do something
}
//further listener implementation here
});
编辑:要防止选择侦听器在删除节点时触发,可以
删除选择侦听器
删除节点
添加回选择侦听器
我需要检测节点已被删除的情况
要检测节点已被删除,您可以使用一个简单的示例:
DefaultTreeModel model = new DefaultTreeModel(new DefaultMutableTreeNode("Root"));
JTree tree = new JTree(model);
model.addTreeModelListener(new TreeModelListener(){
public void treeNodesRemoved(TreeModelEvent e){
//do something
}
//further listener implementation here
});
编辑:要防止选择侦听器在删除节点时触发,可以
删除选择侦听器
删除节点
添加回选择侦听器
我需要检测节点已被删除的情况
要检测节点已被删除,您可以使用一个简单的示例:
DefaultTreeModel model = new DefaultTreeModel(new DefaultMutableTreeNode("Root"));
JTree tree = new JTree(model);
model.addTreeModelListener(new TreeModelListener(){
public void treeNodesRemoved(TreeModelEvent e){
//do something
}
//further listener implementation here
});
编辑:要防止选择侦听器在删除节点时触发,可以
删除选择侦听器
删除节点
添加回选择侦听器
我需要检测节点已被删除的情况
要检测节点已被删除,您可以使用一个简单的示例:
DefaultTreeModel model = new DefaultTreeModel(new DefaultMutableTreeNode("Root"));
JTree tree = new JTree(model);
model.addTreeModelListener(new TreeModelListener(){
public void treeNodesRemoved(TreeModelEvent e){
//do something
}
//further listener implementation here
});
编辑:要防止选择侦听器在删除节点时触发,可以
删除选择侦听器
删除节点
添加回选择侦听器
谢谢,请查看我的编辑。可能我缺少一些内容。但是当我从模型中删除节点时,会调用我的TreeSelection侦听器。这就是我试图检测和停止的内容。删除发生在模型中,选择发生在视图中。如果您希望在删除节点时阻止侦听器触发,则可以a)删除选举监听器b)删除节点c)添加回选择监听器好主意!我会尝试一下,请查看我的编辑。可能我缺少什么。但是当我从模型中删除节点时,会调用我的TreeSelection监听器。这就是我试图检测和停止的内容。删除发生在模型中,选择发生在e视图。如果您希望在删除节点时阻止侦听器触发,那么您可以a)删除选择侦听器b)删除节点c)重新添加选择侦听器好主意!我将尝试一下,请查看我的编辑。可能我缺少一些内容。但是,当我从我的列表中删除节点时,会调用我的TreeSelection侦听器模型。这就是我试图检测和停止的内容。删除发生在模型中,选择发生在视图中。如果您希望在删除节点时阻止侦听器触发,那么您可以a)删除选择侦听器b)删除节点c)重新添加选择侦听器好主意!我会尝试一下,请查看我的编辑。可能我缺少re。但是当我从模型中删除节点时,会调用我的TreeSelection侦听器。这是我试图检测和停止的。删除发生在模型中,视图中的选择。如果您希望在删除节点时阻止侦听器触发,则可以a)删除选择侦听器b)删除节点c) 添加回选择列表好主意!我将尝试一下