我有一个界面,用户可以在其中移动对象,或者移动滑块可以移动对象。我想找出是什么触发了componentMoved方法。如果我能做到这一点,那就太理想了:
public void componentMoved(ComponentEvent ce){
if(ce.getSource() == Component.SOURCE_HUMAN){
// Do something here
}
}我意识到这是不可能的。有没有其他方法(不用从头开始实现我自己的组件侦听器)?
发布于 2013-10-04 23:01:56
在执行拖动的MouseListener代码中设置布尔变量sourceHuman。那么你的componentMoved代码应该是这样的:
if (sourceHuman)
{
// do something
}
sourceHuman = false;另一种方法是有两个监听器,一个用于人类运动,另一个用于滑块。然后,在调用执行组件实际移动的代码之前,将适当的侦听器添加到组件。
https://stackoverflow.com/questions/19184398
复制相似问题