我有一个界面,用户可以移动对象,或移动滑块可以移动对象。我想找出触发componentMoved方法的内容。如果我能做到这一点,那将是理想的:
public void componentMoved(ComponentEvent ce){
if(ce.getSource() == Component.SOURCE_HUMAN){
// Do something here
}
}
我意识到这是不可能的。有没有其他方法可以做到这一点(没有从头开始实现我自己的组件监听器)?
答案 0 :(得分:0)
在执行拖动的MouseListener代码中设置布尔变量sourceHuman。然后你的componentMoved代码就像:
if (sourceHuman)
{
// do something
}
sourceHuman = false;
另一种方法是拥有两个听众,一个用于人体运动,一个用于滑块。然后,在调用实际移动组件的代码之前,将相应的侦听器添加到组件中。