MouseListener - remove

0

Hejka, otóż mam taki problem napisałem w javie programik w którym dodaję obiekty po kliknięciu myszką LPM(dopisywane są do array list)
i teraz chce aby usuwały się one po kliknięciu PPM.

if (e.getButton() == MouseEvent.BUTTON1) {
				a.add(new RuchMyszy(e.getX(), e.getY(), c, 10, 
						(float)(Math.random()*5-1), (float)(Math.random()*5-1)));
				repaint();
			}
			else if(e.getButton() == MouseEvent.BUTTON3) {
				a.remove(0);
				
				repaint();
			}

Napisałem coś takiego, ale usuwa mi je w kolejności dodania, chciałbym jednak, aby usuwały się te, na które kliknę, więc prawodpodobnie tutaj musi zostać dodany jeszcze jeden warunek, próbowałem różnych rzeczy jednak nie wychodzi.....

 else if(e.getButton() == MouseEvent.BUTTON3) {
				a.remove(0);
				
				repaint();
			}

Z góry dzięki !

0

Ale co tu niby próbować? o_O Pobierasz x i y kliknięcia. Przelatujesz swoje array list i znajdujesz obiekt który ma x,y najbliżej twojego kliknięcia i jednocześnie w pewnym obszarze epsilon ( żeby nie było że jak masz 1 obiekt to gdziekolwiek nie klikniesz on zostanie usunięty). Oczywiście dużo wydajniej byłoby jakoś sobie sensowniej to przechowywać niż w ArrayList żeby szybciej odszukiwać obiekt do usunięcia ;)

0

Łatwo Ci napisać ;p
Nic będę coś kombinował, dzięki za szybką odpowiedź

0

Niech każdy dodany obiekt ma swojego "osobistego" MouseListenera.

1 użytkowników online, w tym zalogowanych: 0, gości: 1