java获取鼠标单击的坐标
我正在使用Sedgewick和Wayne提供的this类,当在标准绘图窗口中按下鼠标时,我需要通过单击鼠标来获取坐标。这个类有一个boolean mousePressed方法,用于识别何时按下鼠标,并且我们可以在鼠标在该点按下时从该点获取坐标。我尝试修改java代码,以便对鼠标单击执行类似操作:
public static boolean mouseClicked() {
synchronized (mouseLock) {
return mouseClicked;
}
}
。 .
public void mouseClicked(MouseEvent e) {
synchronized (mouseLock) {
mouseX = StdDraw.userX(e.getX());
mouseY = StdDraw.userY(e.getY());
mouseClicked = true;
}
}
public void mouseReleased(MouseEvent e) {
synchronized (mouseLock) {
mousePressed = false;
mouseClicked = false;
}
}
如果我运行以下程序
public class test {
public static void main(String[] args) {
while(true){
if (StdDraw.mouseClicked()) {
System.out.println("hello");
}
}
}
}
它一直在打印hello(这意味着mouseClicked正在返回true。我如何才能使其停止?我尝试在发布的事件上设置mouseClicked=false,但没有成功。我做错了什么?首先,我尝试使用MouseCpressed获得分数,但无法使用它获得两分
谢谢
# 1 楼答案
打印值后,必须将
mouseClicked
标志设置为false