Podwójne wykonanie kodu

Podwójne wykonanie kodu
DA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 30
0

Witam
Napiszę, krótko mam taki kod w listenerze dodawanym do komponentu JTable((obiekt o nazwie assortmentT). Nie wiem czemu ale po zaznaczeniu wiersza
kod obsługi wykonuje się 2 razy.

Kopiuj
ListSelectionModel cellSelectionModel = assortmentT.getSelectionModel();
		
		 cellSelectionModel.addListSelectionListener(new ListSelectionListener()
		 {
		      public void valueChanged(ListSelectionEvent e)
		      {
		        int selected = assortmentT.getSelectedRow();
		        System.out.println("Selected: " + selected);
		      }

		  });

Może ktoś wie dlaczego tak się dzieje?

  • Rejestracja: dni
  • Ostatnio: dni
7

Ja wiem.

  • Rejestracja: dni
  • Ostatnio: dni
2

Jak za poprzednią odpowiedź dostałem plusa, to ile plusów dostane za merytoryczną?
Jak zaznaczasz wiersz, to jednocześnie usuwasz zaznaczenie z innego wiersza. Zatem zdarzenie valueChanged jest generowane dla dwóch wierszy.

DA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 30
0

Ach te żarty. A jakiś sposób, żeby tego uniknąć?

Olamagato
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Polska, Warszawa
  • Postów: 1066
0

Olej zdarzenie, które Cię nie interesuje. Zwykle używa się do tego instrukcji if. :)

  • Rejestracja: dni
  • Ostatnio: dni
1

Wykorzystaj wartość zwracaną przez e.getValueIsAdjusting().

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.