0
我使用java.awt.Polygon
在Java中绘制了一个多边形。我想用鼠标移动多边形(我想拖动它)。我知道我必须在addMouseMotionListener
中使用mouseDragged
方法。这样我就可以知道鼠标拖动多边形的路径的坐标(x,y)。如何拖动多边形?
但问题是,我不知道如何处理采集的(x,y)来移动多边形。这是代码的一部分:
public void mouseListeners(DrawEverything det) {
det.addMouseMotionListener(new java.awt.event.MouseMotionAdapter() {
public void mouseDragged(java.awt.event.MouseEvent evt) {
if(isMouseInMe(evt.getX(), evt.getY())){//this "if" checks if the cursor is in the shape when we drag it
int xTmep , yTemp ;
xTmep = (int) (evt.getX() - xMousePressed) ;//xMousePressed--> the x position of the mouse when pressed on the shape
yTemp = (int) (evt.getY() - yMousePressed) ;
for(int i = 0 ; i < nPoints ; ++i){
xPoints[i] += xTmep;//array of x-positions of the points of polygon
yPoints[i] += yTemp;
}
}
}
});
这部分是我遇到的麻烦主要部分:
for(int i = 0 ; i < nPoints ; ++i){
xPoints[i] += xTmep;
yPoints[i] += yTemp;
}
非常感谢你,它像一个魅力工作。 – gandalf