TextArea get Selected row(Text)

sparefroh

Mitglied
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:

Java:
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
 
Java:
		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?
 
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
Java:
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
 
Schaut auf den ersten Blick nicht schlecht aus, aber ich markiere leider nichts sondern klicke nur auf die gewünschte Zeile.

D.h
Java:
newValue.getStart(), newValue.getEnd()
sind bei mir gleich.

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

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
 

Zurück
Oben