TextFormatter<Integer> sevenFormat = new TextFormatter<>(c -> c
.getControlNewText().length() > 4 ? null : c);
textFieldSizeFile.setTextFormatter(sevenFormat);
textFieldSizeFile.setTextFormatter(new TextFormatter<Integer>(change -> {
if (!(change.getControlNewText().matches("[0-9]"))) {
return null;
} else {
return change;
}
}));
Как сделать так, чтобы было одновременно, и ограничение ввода символов (ничего кроме цифр), и их количество не более 4. По отдельности они работают, а вдвоем не хотят.
Можно использовать один из них если подправить регекс
textFieldSizeFile.setTextFormatter(new TextFormatter<Integer>(change -> {
if (!(change.getControlNewText().matches("[0-9]{1,4}"))) {
return null;
} else {
return change;
}
}));
textFieldSizeFile.setTextFormatter(new TextFormatter<String>(change -> {
if (!(change.getControlNewText().matches("[0-9]{0,4}"))) {
return null;
} else {
return change;
}
}));
Исправил.Все работает.Но единственное иногда почему-то одна буква вводится а потом не дает
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости