mousePressed鼠标位置获取
private void resetcity(int X, int Y) {
for (int i = 0; i < citylab.length; i++) {
int reset_x = citylab[i].getX() + X;
int reset_y = citylab[i].getY() + Y;
citylab[i].setLocation(reset_x, reset_y);
}
}
public void mousePressed(MouseEvent e) {
x = e.getX();
y = e.getY();
}
public void mouseDragged(MouseEvent e) {
int a = 0;
int b = 0;
int A = 0;
int B = 0;
A = e.getX() - x;
B = e.getY() - y;
a = lab.getX() + e.getX() - x;
b = lab.getY() + e.getY() - y;
if (a > 0) {
a = 0;
A = 0;
}
if (b > 0) {
b = 0;
B = 0;
}
if (a < -790) {
a = -790;
A = 0;
}
if (b < -595) {
b = -595;
B = 0;
}
resetcity(A, B);
lab.setLocation(a, b);
}
这是获取鼠标位置以及图片上的n个label(当按钮用)的坐标跟着一起变的部分代码。现在基本都实现了,但遇到一个问题,当鼠标移动到边缘时(几个if做的判断),再上下移动鼠标那个获取的鼠标坐标就会出问题,label按钮全部跟着移动了。不到边缘的话倒不会出问题。大家帮忙看下