首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >找出触发ComponentListener的原因

找出触发ComponentListener的原因
EN

Stack Overflow用户
提问于 2013-10-04 22:55:12
回答 1查看 26关注 0票数 0

我有一个界面,用户可以在其中移动对象,或者移动滑块可以移动对象。我想找出是什么触发了componentMoved方法。如果我能做到这一点,那就太理想了:

代码语言:javascript
复制
public void componentMoved(ComponentEvent ce){
    if(ce.getSource() == Component.SOURCE_HUMAN){
      // Do something here
    }
}

我意识到这是不可能的。有没有其他方法(不用从头开始实现我自己的组件侦听器)?

EN

回答 1

Stack Overflow用户

发布于 2013-10-04 23:01:56

在执行拖动的MouseListener代码中设置布尔变量sourceHuman。那么你的componentMoved代码应该是这样的:

代码语言:javascript
复制
if (sourceHuman)
{
    // do something
}

sourceHuman = false;

另一种方法是有两个监听器,一个用于人类运动,另一个用于滑块。然后,在调用执行组件实际移动的代码之前,将适当的侦听器添加到组件。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19184398

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档