问题是,因为我输入的值可以被覆盖。例如,如果我想输入" 12.34"但是在这段时间之后打字3需要我超过半秒钟(即#34; 12.3"然后这段时间被删除,我最后输入" 123")这非常烦人。我只需要查看我的纸张,因为我打字并且我无法输入任何数量的分数(期间后的数字)而不会产生大量数据输入错误,因为期间被删除。
Binder<Pojo> binder;
Binder.Binding<Pojo, BigDecimal> amountEditorBinder = binder.forField(amountTextField)
.withValidator(DoubleValidator::isValidValue, "Must be valid amount")
.withConverter(new StringToBigDecimalConverter(new BigDecimal("0"), "Must be an amount"))
.bind(Pojo::getAmountBigDecimal, AccountEntry::setAmountBigDecimal);
grid.addColumn(Pojo::getAmount)
.setEditorBinding(amountEditorBinder);
class Pojo
{
private BigDecimal amount; // with getters and setters
}
我怀疑这个问题是由于这一行:
.withConverter(new StringToBigDecimalConverter(new BigDecimal("0"), "Must be an amount"))
但没有它我无法将TextField的值转换为Pojo中的值。有解决方法吗?