2013-08-29 107 views
0

嗨我剛開始在java中使用鼠標監聽器,我遇到了一個問題,我點擊的地方以及對象出現在哪裏。我一直在試圖做的是讓一個對象出現在我點擊的地方,但是它顯示的位置在鼠標下方,而在右邊。在Java中鼠標座標不準確?

發生這種情況的原因是什麼?我目前使用的所有鼠標都是mouseX和mouseY,並且每次單擊該按鈕時都將其設置爲等於evt.getX()/ evt.getY()。

回答

1

鼠標座標很好,但你很可能沒有正確使用它們。

  • 將您的MouseListener添加到JFrame中?如果是這樣,不要這樣做。將其添加到contentPane或包含要添加的對象的組件。
  • 另請注意,將組件添加到容器時,添加點位於組件的左上角,而不是中心。爲了使它成爲中心,你必須做一些簡單的數學計算。
  • 欲瞭解更多和更好的幫助,請發送sscce
2

我想擴大的「氣墊船全鱔」明智的話(??)

你所得到的座標是相對於您所使用的JFrame,你要添加的新對象contentPane

有什麼不同?

好,好,你問,不同的是,JFrame的有邊一個邊陲/條, enter image description here

意味着它是一個有點bigeer那麼contentPane,因此,當你添加的對象是一個稍多一點,然後你的預期

enter image description here