Hola, utilizando el jFormattedTextField para crear una máscara para la hora en un fomulario me surgió el siguiente problema:
Me hice la siguiente clase para crear el formato de la hora:
public class FormatoHora extends MaskFormatter{
private SimpleDateFormat formato = new SimpleDateFormat("kk:mm");
public FormatoHora() throws ParseException{
super("##:##");
}
public Object stringToValue(String texto) throws ParseException {
return formato.parseObject(texto);
}
public String valueToString(Object value) throws ParseException {
if (value instanceof Date)
return formato.format((Date)value);
return formato.format(new Date());
}
}
Luego instancié mi jFormattedTextField:
new JFormattedTextField(new FormatoHora());
txtHora.setValue(new Date());
Mi problema radica cuando quiero modificar la hora en el jformattedtextfield, no me deja. Me visualiza cuando me carga el formulario la hora actual en la casilla pero no puedo cambiarla. Si le borro "txtHora.setValue(new Date());" me deja modificarla pero no me pone una hora por defecto quedandome una casilla vacía solo con los ":" y no debo permitir esto.
Si alguien tiene alguna idea, le agradesco. Saludos a todos