Re: [問題] MouseListener 跟 MouseMotionListener

看板java作者 (!H45)時間16年前 (2009/05/17 23:11), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串2/2 (看更多)
※ 引述《gozha (勾炸)》之銘言: : public class XXX implements MouseListener, MouseMotionListener{ : private int strtX, strtY; : public XXX(){ : strtX = strtY = 0; : } : public void mousePressed(MouseEvent e){ : strtX = e.getX(); : strtY = e.getY(); : System.out.println(strtX + " " + strtY); : } : public void mouseReleased(MouseEvent e){ : System.out.println(strtX + " " + strtY); : } : public void mouseDragged(MouseEvent e){ : System.out.println(strtX + " " + strtY); : } : } : 這是我的程式碼片段 : 執行過程中,印出的順序跟我想的一樣 : mousePressed → mouseDragged → mouseReleased : 但是印出結果跟不一樣= = : mousePressed 跟 mouseReleased 的印出一致的結果 : 表示從 pressed到 released 的過程中 strtX 跟 strtY 並沒有被更動 : 但是 mouseDragged 總是印出 0 0 : 這是為什麼呢? 因為你的 mouseDragged 和 mousePressed, mouseReleased 位於不同的實體 請檢查 addMouseListener(m1) 與 addMouseMotionListener(m2); 是否 m1 == m2。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.116.247.13

05/17 23:20, , 1F
原來如此,感謝,解決了
05/17 23:20, 1F
文章代碼(AID): #1A42aLqX (java)
文章代碼(AID): #1A42aLqX (java)