簡體   English   中英

獲取一鍵單擊的坐標

[英]Get coordinates of one mouse click

我正在使用Sedgewick和Wayne的此類 ,當在標准繪制窗口中單擊鼠標時,需要單擊鼠標來獲取坐標。 此類具有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");
        }
    }
}

}

它一直在打個招呼(因此,它意味着mouseClicked返回的是true。我如何使其停止?我試圖在發布的事件上設置mouseClicked = false,但是沒有起作用。我在做什么錯?首先,我嘗試了使用mousePressed來獲得要點,但是我無法使用它來獲得兩點。

謝謝!

打印值后,必須將mouseClicked標志設置為false

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM