Podwójne wykonanie kodu

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.

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?

7

Ja wiem.

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.

0

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

0

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

1

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

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