1
我已將MouseMotionListener
添加到Component,約有5位以上的父母。當我設置主要JWindow
setVisible(true);
,然後立即mouseMoved(MouseEvent e)
方法生成一個事件。之後,一切正常。它可能是一些錯誤?爲什麼當組件設置爲可見時,MouseMotionListener的mouseMoved方法會生成事件?
一些解決方案是可能的:
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();
後進行。鼠標,當然坐在地方,我不要去碰它:)但它仍然會產生一個事件..
如果您分享代碼,這將有所幫助。 :) – JNL
我不認爲這是一個錯誤。一般來說,你應該在組件渲染後添加監聽器。 – Kon
我找到了一些解決方案,但我不喜歡它。 –