# JTable und SelectionModel



## Guest (18. Dez 2008)

Hallo!

Ich habe eine JTable und nutze das SelectionModel. Wieso wird der unten stehende SelectionListener zweimal "ausgelöst"? (ausgehend davon, dass sm ein ListSelectionModel ist?)

Der Code gibt mir in diesem Fall zweimal test aus. Auch wenn eine Zeile nur einmal mit einem Mausklick selektiere.


```
sm.addListSelectionListener(new ListSelectionListener()
				{
				@Override
				public void valueChanged(ListSelectionEvent e) 
					{
					// TODO Auto-generated method stub
					System.out.println("test");
					}
				});
```


----------



## Ebenius (18. Dez 2008)

Einmal mit Value is Adjusting = true und einmal mit false. Den ersten event bekommst Du, während die Mouse noch gedrückt ist (Value is Adjusting); in diesem Moment ist ja noch nicht klar, ob der Nutzer nicht noch weitere Zeilen selektiert (Maus gedrückt lassen und noch oben/unten schieben). Der zweite Event (Value is *not* Adjusting) kommt, wenn die Aktion abgeschlossen ist, zum Beispiel Maus losgelassen.

Wenn Du nur am Ende des Selektierens einen Event haben möchtest, sieht der Code so aus:
	
	
	
	





```
public void valueChanged(ListSelectionEvent e) {
  if (!e.getValueIsAdjusting()) {
    System.out.println("test");
  }
}
```

Ebenius


----------



## Ebenius (18. Dez 2008)

_EDIT: Doppelt, Sorry._


----------

