java掩码格式textfield日期

时间:2015-12-23 08:29:37

标签: java date-format maskformatter

我正在尝试使用 dateFormat 来制作textField(2015年6月6日)。但问题是每当我删除字段或按Tab键它再次成为普通的textField。无论如何做/不可取消?谢谢

private static final DateFormat dateFormat = new SimpleDateFormat("dd/mm/yyyy");
    textF = new JFormattedTextField(dateFormat); 


MaskFormatter dateMask;
    try {
        dateMask = new MaskFormatter("##/##/####");
        dateMask.install(textF);
        dateMask.setValidCharacters("0123456789");
    } catch (ParseException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    textF.setHorizontalAlignment(JTextField.RIGHT);

1 个答案:

答案 0 :(得分:0)

试试这个

MaskFormatter dateMask;
try {
    dateMask = new MaskFormatter("##/##/####");
    dateMask.setPlaceholderCharacter('/');
    dateMask.setValidCharacters("0123456789");
} catch (ParseException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}
textF = new JFormattedTextField(dateMask ); 
textF.setHorizontalAlignment(JTextField.RIGHT);