JDatePicker和属性不起作用

时间:2016-11-21 13:37:19

标签: java swing

UtilDateModel dateModel = new UtilDateModel();
Properties p = new Properties();
p.put("text.today", "Today");
p.put("text.month", "Month");
p.put("text.year", "Year");
JDatePanelImpl datePanel = new JDatePanelImpl(dateModel, p);
JDatePickerImpl datePicker = new JDatePickerImpl(datePanel, p);

我不知道为什么这不起作用,它在p.put上显示某种错误,但它没有解释它有什么问题。

1 个答案:

答案 0 :(得分:1)

尝试创建另一个扩展自 AbstractFormatter 的类。

喜欢这个

public class LabelDateFormatter  extends AbstractFormatter {
    private String datePatern = "dd/MM/yyyy";

    private SimpleDateFormat dateFormatter = new SimpleDateFormat(datePatern);

    @Override
    public Object stringToValue(String text) throws ParseException {
        return dateFormatter.parseObject(text);
    }

    @Override
    public String valueToString(Object value) throws ParseException {
        if (value != null) {
            Calendar cal = (Calendar) value;
            return dateFormatter.format(cal.getTime());
        }

        return "";
    }
}

试试这个:

JDatePickerImpl datePicker = new JDatePickerImpl(datePanel, new LabelDateFormatter());

我认为这可以解决您的代码。