Wracając do kwestii oddzielania kolejnych trójek liczb, wykonałem to trochę w pokraczny sposób, no ale działa:
Kopiuj
tIlosc.textProperty().addListener((observable, oldValue, newValue) -> {
licznikPom++;
if (licznikPom == 5) {
StringBuffer tIloscPom = new StringBuffer(newValue);
tIloscPom.insert(2, " ");
tIlosc.setText(tIloscPom.toString());
}
if (licznikPom == 7) {
StringBuffer tIloscPom = new StringBuffer(newValue);
tIloscPom.deleteCharAt(2);
tIloscPom.insert(3, " ");
tIlosc.setText(tIloscPom.toString());
}
if (licznikPom == 9) {
StringBuffer tIloscPom = new StringBuffer(newValue);
tIloscPom.deleteCharAt(3);
tIloscPom.insert(4, " ");
tIloscPom.insert(1, " ");
tIlosc.setText(tIloscPom.toString());
}
});
Daje taki efekt:
1234
12 345
123 456
1 234 567
itd..
Problem jednak jest przy poprawianiu już zedytowanego TextFielda, wszystko się rozkracza. Ale nie jest to znowu taki istotne dla mnie, bo to oddzielanie trójek, to miała być tylko taka kosmetyka, więc przy ponownym kliknięciu na ten TextField, jest on ustawiany na String = "".
Pozostaje jednak kwestia kliknięcia w backspace, wtedy też bym chciał czyścić całe textField. 1 kliknięcie = czyszczenie całego pola.
Jestem mnie ktoś w stanie pokierować jak to wykonać?
Z góry dzięki.