Так что у меня этот FormatedTextFieldКак изменить динамическую форму FormatedTextField?
JFormattedTextField myFtf = new JFormattedTextField();
, который имеет следующую маску, помещенную в моем приложении конструктор
try {
myFtf.setFormatterFactory(
new DefaultFormatterFactory(
new MaskFormatter("###.###.###-##")));
} catch (java.text.ParseException ex) {
ex.printStackTrace();
}
Тогда, у меня есть две кнопки радио, которые должны быть изменения маски форматировщик в myFtf
,
Я попытался следующие:
private radioButton1ActionPerformed(java.awt.event.ActionEvent evt) {
try {
myFtf.setFormatterFactory(
new DefaultFormatterFactory(
new MaskFormatter("###.###.###-##")));
} catch (Exception e) {
e.printStackTrace();
}
}
private void radioButton2ActionPerformed(java.awt.event.ActionEvent evt) {
try {
myFtf.setFormatterFactory(
new DefaultFormatterFactory(
new MaskFormatter("##.###.###/####-##")));
} catch (Exception e) {
e.printStackTrace();
}
}
Который работает хорошо, пока я пытаюсь изменить свои маски , когда вводится в текстовое поле. В случае, если нет, он больше не меняет маску. Вот несколько отпечатков:
OK Сценарий:
IMG: с
переключения радио кнопки дает мне это:
IMG B:
Buggy сценарий:
IMG с:
переключения радио кнопки дает мне это:
IMG d:
Я ожидал IMG d быть точно как IMG a
Как я могу правильно изменить маску?
Какой результат вы ожидали во втором сценарии? То же, что и в первом? – user1803551
@ user1803551 yes, очищенные боксы без ввода и правильной маски – user2018675