gpt4 book ai didi

java - rcp ComboViewer valueChanged

转载 作者:行者123 更新时间:2023-12-02 08:26:59 34 4
gpt4 key购买 nike

如果组合框中的值发生更改,如何在组合查看器中触发事件?并非每个选择都会触发(addSelectionChangedListener)。我只想触发一个事件,仅当当前选择不同的值时才触发,而不是相同的值。

例如:组合框,值 {1,2,3}。我设置为 1。当我打开组合框并单击 1 时,它不会触发该事件。但是当我点击2或3时,就会触发该事件。就像在 html 中一样,只触发事件,只有事件发生变化。我已经使用comboViewer.getCombo().addMofidyListener进行了测试。但情况与上面的selectionChangedListener相同(在组合框中单击相同的值将始终触发该事件)。

谢谢

最佳答案

ComboViewer 本身无法做到这一点。尝试编写一个记住旧值的选择监听器。

abstract class CleverSelectionChangedListener implements ISelectionChangedListener {

private Object _oldSelection;

public void selectionChanged(SelectionChangedEvent event) {
Object newSelection = ((IStructuredSelection) event.getSelection()).getFirstElement();
if (newSelection != _oldSelection) {
selectionReallyChanged(event);
_oldSelection = newSelection;
}
}
public abstract void selectionReallyChanged(SelectionChangedEvent event);
}

关于java - rcp ComboViewer valueChanged,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4290734/

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