Autoscroll tekstu do prawej strony w TextField

0

Mam w moim programie pole TextField, do którego wprowadza się znaki za pomocą odpowiednich buttonów (tekst wskakuje od prawej strony). Jednak w momencie przepełnienia tego pola, tekst po prostu ucieka poza pole i muszę ręcznie go przewinąć żeby zobaczyć co wpisałem na końcu. Chciałbym żeby tekst automatycznie przewijał się w momencie przepełnienia pola i chował z lewej strony, tak by ostatni napisany znak zawsze był przy prawej krawędzi pola. Jak mogę takiego cudu dokonać?

title

1

Udało mi się obejść ten problem, nie jest to jednak idealne rozwiązanie. Dodałem następującą linię do każdej z metod obsługujących zdarzenia buttonów

mainField.positionCaret(mainField.getText().length());

Jeśli ma ktoś jakiś lepszy sposób na uzyskanie tego efektu to będę wdzięczny za podzielenie się nim :)

1
public class Controller {

    @FXML
    public TextField tf;

    @FXML
    public void initialize() {
        tf.setAlignment(Pos.CENTER_RIGHT);
    }

    @FXML
    public void fooA(ActionEvent actionEvent) {
        tf.appendText("a");
    }

    @FXML
    public void fooB(ActionEvent actionEvent) {
        tf.appendText("b");
    }
}
0

Dzięki, nie wiedzieć czemu ustawiałem to każdorazowo za pomocą setText .__.

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