0
當用戶點擊/按住鼠標按鈕時,我正嘗試使用鼠標移動圖像。當用戶將鼠標放下(其中它使用鼠標實時更新)時,我設法做到了這一點,但是,當我點擊圖像時,圖像將其位置調整到更新的區域,這不是我希望它能做到。如果用戶點擊時唯一想要圖片移動的地方是用戶第二次再次點擊。因此,可以說如果用戶點擊位於(0,0)處的圖像,如果用戶再次在屏幕上的其他位置單擊,則位置現在位於(x,y)處。點擊時使用MouseListener移動圖像
以下是我有:
@Override
public void mouseClicked(MouseEvent e) {
clickCount++;
if(clickCount % 2 == 0){
p.setLocation(e.getX(), e.getY());//p is just a panel that contains the img
repaint();
}
System.out.println("mouse clicked...");
}
更新的代碼:
public void mouseClicked(MouseEvent e) {
Object o = e.getSource();
if(o instanceof JPanel)
clickCount++;
if(clickCount % 2 == 0 && clickCount != 0){
p.setLocation(e.getX(), e.getY());
repaint();
}
System.out.println("mouse clicked " + clickCount + " times");
}
如果你點擊在屏幕任意位置(之後的clickCount%2 ==這是接近但工作,0 ),那麼圖像會移動。
對不起,你爲什麼要設置點擊爲空?那麼你不會只能進入IF一次嗎? –
一旦你移動它,你不再想繼續移動(我假設),所以下一次點擊會選擇其他面板被點擊。如果您想使用拖動,請使用'MouseMotionListener'和'mouseDragged'事件 – MadProgrammer
非常感謝您,這正是我一直在尋找的! :D –