Olá pessoal...
Eu sei que ja tem um tópico falando sobre esse assunto aqui, porém já tem bastante tempo que não é acessado e as notificações via e-mail estão desabilitadas, e eu tbem nao encontrei solução para o meu problema no google, entao resolvi colocar minha duvida em um novo tópico.
o cara desse tópico [url]http://www.guj.com.br/posts/list/10666.java[/url], postou a solução, porém não foi o suficiente para que eu pudesse entender o que ele fez.
o problema é se o usuario digitar uma data em um JFormattedTextField devidamente formatado usando MaskFormatter com a mascara ##/##/####, e depois desistir de cadastrar uma data e for apagá-la com delete ou backspace, quando o campo perde o focus ele volta a ficar com a ultima data digitada, ou seja, o ultimo value que foi atribuido ao componente... o que eu quero é que ele aceite nada como uma data valida, ou seja, __/__/____, quero q este valor possa ser setado na propriedade value do componente, a solução postada no outro topico é reescrever o métodopublic Object stringToValue(String value)
private Object stringToValue(String value, bollean completeMatch)
public MaskFormatter setMascara(String mascara) {
MaskFormatter mask = null;
try {
mask = new MaskFormatter(mascara);
} catch (ParseException e) {
e.printStackTrace();
}
return mask;
}
mask = new MaskFormatter(mascara) {
public Object stringToValue(String value) throws ParseException {
return stringToValue(value, true);
}
};
return mask.stringToValue(value, true)
return MaskFormatter.stringToValue(value, true)
Já tentei de td que sabia, tentei usar o COMMIT, COMMIT OR REVERT, REVERT, enfim, já tem mais de um mês que to tentando corrigir isso e nao consegui !!
eu queria um exemplo de código que funcionasse, se nao for pedir muito,
mas uma explicação de uma solução já seria ótimo !!!!
Desde já, agradecido !!!