gpt4 book ai didi

java - 如何在 SWT 中删除鼠标滚轮监听器

转载 作者:行者123 更新时间:2023-11-30 07:44:41 25 4
gpt4 key购买 nike

我正在尝试删除并替换 SWT 中 ScrolledComposite 上的鼠标滚轮监听器。滚动的复合 Material 有一个removeMouseWheelListener方法,但是它无法访问鼠标滚轮监听器来删除它。我尝试过 getListeners() 方法:

MouseWheelListener mouseWheelListener = (MouseWheelListener) scrollable.getListeners(SWT.MouseWheel)[0];

但这会产生转换错误,因此 getListeners 不得检索相同类型的监听器。我尝试创建一个新的监听器并将其从 ScrolledComposite 中删除:

MouseWheelListener scroller = new MouseWheelListener() {
@Override
public void mouseScrolled(MouseEvent e) {
Point currentScroll = scrollable.getOrigin();
scrollable.setOrigin(currentScroll.x, currentScroll.y - (e.count * 5));
}
};
scrollable.removeMouseWheelListener(scroller);

但这并不会删除监听器。当然,如果我能够访问添加的原始 MouseWheelListener 这不会是问题,但我没有。谢谢。

最佳答案

getListeners 将为鼠标滚轮监听器返回类型为 TypedListener 的监听器。

TypedListener.getEventListener() 将返回 MouseWheelListener

关于java - 如何在 SWT 中删除鼠标滚轮监听器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34097082/

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