gpt4 book ai didi

java - 如何在不触发 SelectionChanged() 的情况下设置树查看器的选择?

转载 作者:行者123 更新时间:2023-12-01 22:54:49 25 4
gpt4 key购买 nike

我正在开发一个 Eclipse RCP 项目。它有几个带有 TreeViewer 的 View ,我使用 selectionChanged() 方法来处理选择事件。但是,有时我需要以编程方式设置选择。为此,在 selectionChanged() 方法中,我调用 TreeViewersetSelection() 方法来设置所需的选择。此方法会触发所有 View 的 selectionChanged() 方法,从而导致循环调用 selectionChanged()

如何从 TreeViewerStructuredViewer 中选择一个项目,而不触发其他 View 的 selectionChanged()

最佳答案

嗯,创建一个触发您当前所在的Listener 的事件始终是一个棘手的情况。我通常做的事情是这样的:

Listener listener = new Listener()
{
private boolean ignore = false;

@Override
public void handleEvent(Event e)
{
if(ignore)
return;

ignore = true;
doPotentiallyCyclicStuff();
ignore = false;
}
};

这不是一个非常漂亮的解决方案,但它确实有效。

<小时/>

期待这里的替代解决方案,因为这已经困扰我一段时间了。

关于java - 如何在不触发 SelectionChanged() 的情况下设置树查看器的选择?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24245554/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com