带有java.time的ZK日期框

时间:2017-03-06 10:05:04

标签: java datebox zul localdate

嘿,我有来自zkoss的datebox,我想在java 8 localdate和localdatetime中使用它。我试图在我的datebox类中扩展datebox但我不能让它工作,你有没有经验或什么?我到处搜索但我没找到任何东西。感谢

private LocalDate value;

private DateTimeFormatter format = DateTimeFormatter.ofPattern("dd.MM.yyyy ");

public Datebox() {
    super();
}

public Datebox(LocalDate dateTime) {
    this.value = dateTime;
}

protected String getDefaultFormat() {
    return format.toString();
}

@Override
protected Object coerceFromString(String value) throws WrongValueException {
    return (value == null) ? null : format.parse(value);
}

@Override
protected String coerceToString(Object value) {
    return (value == null) ? null : format.format((TemporalAccessor) value);
}

@Override
protected Object unmarshall(Object value) {
    if (value == null) return value;

    if (!(value instanceof LocalDate)) {
        throw new WrongValueException(this, MZul.NUMBER_REQUIRED, value);
    }
    return value;
}

@Override
protected Object marshall(Object value) {
    if (value == null) return value;

    return value;
}

public LocalDate getValue() {
    return value;
}

public void setValue(LocalDate value) {
    this.value = value;
}

1 个答案:

答案 0 :(得分:0)

关于DateBox的ZK组件参考建议使用setFormat()方法来应用您的首选日期格式。

假设您的代码来自扩展ZK Datebox的类,那么您可以实现一个简单的格式化方法:

protected void setDateFormat(String dateFormat) {
    return setFormat(dateFormat); // <- ZK method of the DateBox
}