找出触发ComponentListener的内容

时间:2013-10-04 14:55:12

标签: java componentlistener

我有一个界面,用户可以移动对象,或移动滑块可以移动对象。我想找出触发componentMoved方法的内容。如果我能做到这一点,那将是理想的:

public void componentMoved(ComponentEvent ce){
    if(ce.getSource() == Component.SOURCE_HUMAN){
      // Do something here
    }
}

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

1 个答案:

答案 0 :(得分:0)

在执行拖动的MouseListener代码中设置布尔变量sourceHuman。然后你的componentMoved代码就像:

if (sourceHuman)
{
    // do something
}

sourceHuman = false;

另一种方法是拥有两个听众,一个用于人体运动,一个用于滑块。然后,在调用实际移动组件的代码之前,将相应的侦听器添加到组件中。