Re: [問題] addMouseListener(自己設的class
※ 引述《kenotic (弱智)》之銘言:
: 新手請教一下
: 若是在label上加入mouselistener,如下 (實際上應該會用for迴圈
: labelA.addMouseListener(DrawPic);
: labelB.addMouseListener(DrawPic);
: ...
: labelZ.addMouseMotionListener(DrawPic);
: 並且在class DrawPicC裡分別設定labelA、B...labelZ的座標
: 請問除了labelA.setLocation(...) labelB.setLocation() 一個一個寫以外
: 有沒有更便捷的方法?
: 例如說有個能夠取得"你現在所拖曳的label"的方法getDragedLabel()
: 這裡的getDragedLabel()取得的物件相當於labelA (或是labelB、C等等
: 然後做以下的動作
: new JLabel = dragedLabel;
: dragedLabel = getDragedLabel(); (讓dragedLabel等於你現在所拖曳的label
: getDragedLabel().setLocation(....)
: 換言之,有沒有取得 XXX.addMouseMotionListener() XXX物件的方法
: 感謝
: (新手不曉得這樣問有沒有讓人看懂意思XD
每個 event(EventObject) 都帶有發出這個 event 的來源(source property),
而 ComponentEvent 則帶有送出這個 event 的 component 資訊。通常 Component-
Event 的 source 會同於發出 event 的 component。
*MouseEvent 是 ComponentEvent。
假如你只是要移動被滑鼠拖曳的那個"組件",那麼你只需要知道 mouse event 是
發生在哪個 Component 上(而不是在哪個 label 上),故 ComponentEvent::
getComponent 很符合你的需要。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.166.240.231
推
11/03 17:24, , 1F
11/03 17:24, 1F
推
11/03 21:03, , 2F
11/03 21:03, 2F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):