我的程序中有2棵树。我选择了JTree的clearselection()方法来清除另一棵树中的某棵树中的选择。主代码是这样的:(在valueChanged事件侦听器内,并且树是触发了当前选择的树)
if ( tree == tree1 ){
tree2.clearSelection();
} else {
tree1.clearSelection();
}
当我第一次选择时,它工作正常。但是,当我尝试从此之后的其他树中进行选择时,似乎valueChanged方法被调用了两次。有什么办法吗?
最佳答案
您是否使用了我在this question中给您的代码?
其中包括一个标志,用于解决引入无限循环的问题,并且在处理当前循环时应忽略后续选择事件。
顺便说一句,因为这直接与上一个问题有关,所以您最好对前一个帖子发表评论。这样,所有上下文都保存在一个地方。