java - 单击鼠标即可获取坐标

标签 java mouseevent mouselistener

我正在使用this来自 Sedgewick 和 Wayne 的类(class),我需要在标准绘图窗口按下鼠标时获取鼠标单击的坐标。这个类有一个 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,但没有成功。我做错了什么?首先,我尝试过使用 mousePressed 来获取点,但我无法使用它来获取两点。

谢谢!

最佳答案

打印值后,您必须将 mouseClicked 标志设置为 false

while (true) {
        if (StdDraw.mouseClicked()) {
            System.out.println("hello");
            StdDraw.mouseClicked=false;
        }
    }

关于java - 单击鼠标即可获取坐标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31060326/

相关文章:

Java仅从字符串中提取第一个字母/字符

java - 设置启动器而不离开当前 Activity

javascript - Jquery 在鼠标按钮按住时自动递增 css 属性

python - pygame 检测绘制的圆形 Sprite 是否被单击失败

javascript - 缩短了 Prototype 中许多按钮的代码

javascript - 如何让JavaScript点击某个位置?

java - JTable 不会监听 Doubleclicks

java - 如何为具有动态大小的 ZooKeeper 集群初始化 CuratorFramework?

java - 根据单击的按钮将变量保存在 SharedPreferences 中

java - 找不到符号错误。 java