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;
}
}));
Исправил.Все работает.Но единственное иногда почему-то одна буква вводится а потом не дает
Оборудование для ресторана: новинки профессиональной кухонной техники
Частный дом престарелых в Киеве: комфорт, забота и профессиональный уход
Я знаю как с битами работать, типа сдвиги, операторы |, &, ^В просторах интернета пишут, что они используются для низкоуровневых задач, в технике...
Итак, задача состоит в том, чтобы из списка сотрудников составить Map, ключом которого будет интервал зарплат, а значением - список сотрудников,...
Имеется переменная типа String "daily - ежедневный"Нужно вывести сначала "daily", а потом "ежедневный"