0
使用mouseevents,我能夠獲得框架的x和y座標,但我無法獲取面板的x和y座標。下面的代碼是我得到框架的x和y座標。獲取面板的座標
public void mouseMoved(MouseEvent e) {
x = e.getX();
y = e.getY();
text = Integer.toString(x) +","+Integer.toString(y);
Frame.frame.repaint();
}
下面的代碼是我試圖獲得面板的x和y座標,但它是繪製0代替。 Paint.paint是我的jpanel的名稱。我不知道我做錯了什麼。如果可以的話請幫忙。
public void mouseMoved(MouseEvent e) {
x = Paint.paint.getX();
y = Paint.paint.getY();
text = Integer.toString(x) +","+Integer.toString(y);
Frame.frame.repaint();
}
轉換或我可以只添加的MouseListener到面板, 對?我做到了,而且很有效。但我還有一個問題。我將mouselistener添加到框架和麪板,但現在它將爲面板設置座標。不是說我有這個問題,但我只是混淆了爲什麼它爲面板設置它,當我將鼠標監聽器添加到jframe和jpanel。 – Ski 2015-04-01 18:39:57
我不知道你是什麼意思'設置座標'。如果兩個監聽器都設置了相同變量的值,那麼最後通知的值將是最終值。 – copeg 2015-04-01 19:38:50
所以如果我做frame.addMouseListener(事件)並把panel.addMouseListener(事件),它會聽面板,因爲面板是最後一次。好的。我懂了... – Ski 2015-04-01 21:18:41