2017-03-06 142 views
0

嘿,我有zkoss的datebox,我想用java 8 localdate和localdatetime。我試圖在datebox類中擴展datebox,但是我不能讓它工作,你有任何經驗或什麼?我到處搜索,但我沒有找到任何東西。感謝使用java.time的ZK 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; 
} 

回答

0

DateBox的ZK組件引用建議將用setFormat()方法以應用優選的日期格式。

假設你的代碼是從擴展ZK Datebox那麼你可以實現一個簡單的格式化方法的類:

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