我已将MouseMotionListener
添加到Component,上面约有5位父母。当我设置主JWindow
setVisible(true);
时,立即mouseMoved(MouseEvent e)
方法会生成一个事件。之后一切正常。可能是一些错误?
可能有一些解决方案:
public class SomeClass extends Component{
private int mouseMoveCount;
public SomeClass(){
addMouseMotionListener(new MouseMotionAdapter() {
@Override
public void mouseMoved(MouseEvent e) {
if (mouseMoveCount > 1) {
//Do something
mouseMoveCount = 0;
}
mouseMoveCount++;
}
});
}
}
jWindow.setVisible(true);
在validate();
和pack();
之后完成。鼠标,当然坐在原地,我不碰它:)但它仍然会产生一个事件..
答案 0 :(得分:0)
终于找到了原因 - 在设置为可见之前,我将MouseEvent
(MouseEvent.MOUSE_ENTERED
)发送给Component
MouseListener
- 这是一个错误。但有趣的是,调度此事件也会触发mouseMoved
。