# Aktion auführen nach Doppelklick auf Zeile in JTable



## cyberfox (20. Jun 2005)

Hi!

Hab folgendes Problem.
Ich hab eine JTable, welche auf einem ScrollPane sitzt und ein OutputTableModel benutzt.
Ich möchte nun, auf einen Doppelklick auf ein bestimmte Zeile in der Tabelle reagieren und einen Text ausgeben (in ein JTextArea).

Wie ist das möglich? Hab schon hier im Forum gesucht, allerdings bin ich bisher noch nicht weitergekommen!

Gruß
Cyberfox


----------



## Roar (20. Jun 2005)

einen MouseListener der tabelle hinzufügen???


----------



## cyberfox (20. Jun 2005)

Ja aber ist das nicht irgendwie umständlich? Gibts da keinen vordefinierten EventListener oder so, den ich benutzen kann?


----------



## Roar (20. Jun 2005)

cyberfox hat gesagt.:
			
		

> Gibts da keinen vordefinierten EventListener oder so, den ich benutzen kann?



du willst auf einen doppelklick reagieren also muss du einen mouselistener benutzen, ist doch nur logisch und alles andre als umständlich :?


----------



## AlArenal (20. Jun 2005)

Den vordefinierten EventListener den du suchst gibts in der Tat und er nennt sich MouseListener


----------



## cyberfox (20. Jun 2005)

Na gut  Dann werde ich mich damit abfinden müssen. Könnt ihr mir denn erklären, wie das geht?
Wie genau muss ich da vorgehen?


----------



## Wildcard (20. Jun 2005)

Da gibts eigentlich nicht viel zu erklären. MouseListener registrieren und bei Doppelklick (getClickCount...) die selektierte Zeile holen. Das war's dann auch schon  :wink:


----------



## cyberfox (20. Jun 2005)

Also ich hab jetzt ne neue Klasser erstellt:


```
public class NewMouseListener extends MouseAdapter{
	
	public void mouseClicked(MouseEvent e){
		if (e.getClickCount() == 2) { 
	                //
		}
	}
}
```

Ist das soweit richtig? Wie greife ich denn jetzt aus der anderen Klasse darauf zu und wie mache ich es, das ich bei Doppelklick in einer anderen Klasse (innerhalb der Tabelle) die Aktion ausführe?

Muss ich doch dann in der 2. Klasse irgendwie eine neues Objekt der Klasse "NewMouseListener" erzeugen oder?


```
public class test{
    ...
    NewMouseListener ml = new NewMouseListener();
    tabelle.add(ml);
    ....
}
```

So irgendwie?


----------



## L-ectron-X (20. Jun 2005)

```
table.addMouseListener(new NewMouseListener());
```


----------



## cyberfox (20. Jun 2005)

Und wie frage ich dann die Aktion ab? Bin scheinbar dafür noch etwas zu doof


----------



## cyberfox (20. Jun 2005)

Habs hinbekommen:


```
public class NewMouseListener extends MouseAdapter{
	
	public void mouseClicked(MouseEvent e){
		if (e.getClickCount() == 2) { 
			//Aktionen
		}
	}
}
```

In der anderen Klasse hab ich dann:

```
Table.addMouseListener(new NewMouseListener());
```

So funktionierts bei mir! Falls es jemanden interessiert 
Danke für eure Hilfe!


----------

