Попробуйте настроить Converter
вашего TextField
public class Converter<C> implements IConverter<C> {
@Override
public C convertToObject(String s, Locale locale) throws ConversionException {
return (C) s;
}
@Override
public String convertToString(C c, Locale locale) {
Class<? extends Object> aclass = c.getClass();
if (aclass == Long.class) {
return ((Long) c != 0) ? String.valueOf(c) : "";
} else if (aclass == Integer.class) {
return ((Integer) c != 0) ? String.valueOf(c) : "";
} else if (aclass == BigDecimal.class) {
return (!BigDecimal.ZERO.equals(c)) ? String.valueOf(c) : "";
}
return c.toString();
}
}
и затем переопределить значение по умолчанию IConverter
new TextField<BigDecimal>("id") {
@Override
public <C> IConverter<C> getConverter(Class<C> type) {
return new Converter<C>();
}
}