[問題] 設計移動多個圖案
想要設計目前frame上有一些圖案
我可以點選frame的任何其中一個圖案移來移去(有點類似拼圖)
目前做法是利用
public void mousePressed(MouseEvent e) {
dx=e.getX()-posX; // 取得滑鼠按下之點與基準點x方向的距離
dy=e.getY()-posY;
}
public void mouseDragged(MouseEvent e) {
x=e.getX()-dx; // 取得拖曳時的基準點x座標
y=e.getY()-dy; // 取得拖曳時的基準點y座標
if(dx>0 && dx<100 && dy>0 && dy<120) // 如果指標落在正方形區域內
{
ttt1.setLocation(x,y);
Graphics g = getGraphics();
update(g);
posX =x;
posY =y;
}
}
滑鼠點下去後算基準點與滑鼠點的距離是否有落在圖案上
判斷為是點哪一張圖
但是這種方法常常會誤判 且圖一多整個會亂掉
而且圖如果重疊會被一起拉到
if(dx>0 && dx<100 && dy>0 && dy<120) // 如果指標落在正方形區域內
且會因為圖的大小而要更改區域的大小
不知道有沒有好的方法可以用滑鼠去點選我想要移動的物件
謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.114.71.17
討論串 (同標題文章)
以下文章回應了本文 (最舊先):
完整討論串 (本文為第 1 之 3 篇):