У меня есть JFormattedTextField, управляемый двумя RadioButton. В одном из RadioButton я устанавливаю маску, а другой я хочу очистить маску и набирать ее нормально. После того, как задан тип, он не возвращает значение getText()
, значение возвращается только в том случае, если установлена маска.Как удалить маску JFormattedTextField?
Как решить эту проблему?
private void setMask() {
MaskFormatter formatter = null;
try {
txtPesquisar.setValue(null);
if (rbNome.isSelected()) {
//clear mask to type normally
formatter = new MaskFormatter("****************************************");
formatter.setPlaceholderCharacter(' ');
} else {
//set mask
formatter = new MaskFormatter("###.###.###-##");
formatter.setPlaceholderCharacter(' ');
}
txtPesquisar.setFormatterFactory(new DefaultFormatterFactory(formatter));
txtPesquisar.requestFocus();
txtPesquisar.selectAll();
} catch (ParseException ex) {
ex.printStackTrace();
}
}
вы называете 'commitEdit()' на вашем JFormattedTextField перед вызовом 'ПолучитьЗначение()'? Если нет, вы захотите сделать это. –