# TextArea get Selected row(Text)



## sparefroh (16. Apr 2014)

Hallo Leute,

wieder einmal benötige ich leider eure Hilfe.

Nun zum Problem, ich habe eine TextArea und auf diese habe ich einen MouseclickListener platziert.

Nun möchte ich wenn dieser Listener ausgelöst wird die Zeile auf welche in der TextArea geklickt worden ist auslesen.

Hier das CodeBeispiel:


```
textArea.setOnMouseClicked(new EventHandler<MouseEvent>() {
            @Override
            public void handle(MouseEvent event) {
                if (event.getButton().equals(MouseButton.PRIMARY)) {
                       String textAtRow = textArea.getTextAtRow();

                }
            }
        });
```

Und in dieser if Bedinnung soll nun der Text von der selektierten Zeile der Variable zugewiesen werden.
Ist das mit JavaFX möglich?

Herzlichen Dank für jede Antwort/Hilfe.

Liebe Grüße,

Johannes


----------



## dzim (16. Apr 2014)

```
textArea.selectionProperty().addListener(new ChangeListener<IndexRange>() {
			@Override
			public void changed(ObservableValue<? extends IndexRange> observable, IndexRange oldValue, IndexRange newValue) {
				// einfach: textArea.getSelectedText()
				// besser: textArea.getText(newValue.getStart(), newValue.getEnd())
			}});
```

Savvy?


----------



## sparefroh (16. Apr 2014)

Vielen Dank für deine rasche Antwort!

Schaut auf den ersten Blick nicht schlecht aus, aber ich markiere leider nichts sondern klicke nur auf die gewünschte Zeile.

D.h 
	
	
	
	





```
newValue.getStart(), newValue.getEnd()
```
 sind bei mir gleich.

So bekomme ich dann nicht die ganze Zeile sondern lediglich einen Leerstring.

Hast du eventuell noch eine andere Idee?

Nochmal vielen Dank für deine Mühe.

Liebe Grüße,

Johannes


----------



## Joose (16. Apr 2014)

sparefroh hat gesagt.:


> Schaut auf den ersten Blick nicht schlecht aus, aber ich markiere leider nichts sondern klicke nur auf die gewünschte Zeile.
> 
> D.h
> 
> ...



Aber du hast die Position wo geklickt wurde. Von dieser Position aus kannst du das 1.Zeichen und das letzte Zeichen der Zeile suchen (Stichwort \n im Text). Mit diesen sollte der Rest ganz einfach gehen


----------



## sparefroh (16. Apr 2014)

Stimmt, perfekt!


Vielen Dank!!


----------



## dzim (16. Apr 2014)

Ah, ok. Das hatte ich wohl überlesen. Durch "selected row" war ich von der echten Textauswahl ausgegangen...


----------



## sparefroh (18. Apr 2014)

Nochmals Danke, hat super funktioniert


----------

