gpt4 book ai didi

java - 表单上的 Vaadin 属性格式化程序

转载 作者:太空宇宙 更新时间:2023-11-04 08:34:49 25 4
gpt4 key购买 nike

我有一个表单,其中源项目的属性需要通过自定义格式进行格式化。

(我自己的 bean 的)源属性是一个 Integer,但需要格式化为类似货币的格式。

我尝试实现自己的PropertyFormatter,并将其设置在我的FieldFactory.createField中,为此表单

TextField tf = new TextField("Price");
tf.setPropertyDataSource(new MyPriceFormatter());
return tf;

但正如我从日志中看到的,仅调用了 format() 方法。但是 parse() 方法从未被使用,并且 setValue 从未被调用

我的代码有什么问题吗?如何为表单使用自定义PropertyFomatter?或者如何为表单字段添加自定义格式?

<小时/>

经过一番调查,我发现有一些东西只是用新的 MethodProperty 数据源替换了我的格式化程序。因此,我实现了自己的 PriceField,并重写了 setPropertyDataSource,解决了这种情况。顺便说一句,这似乎很老套,我仍在寻找其他方法

最佳答案

我也遇到过这个问题,并用其他方法解决了。实际上我还必须制作一个用货币格式化的文本字段:-)

问题在于,当您在 FormFieldFactory 中创建字段时,PropertyFormatter 中的数据源为 null。您可以在调用 FormFieldFactory 后在字段上设置数据源:

addCountryRatesForm.setFormFieldFactory(new MyFormFieldFactory());
Field internationalRate = addCountryRatesForm.getField("internationalRate");
internationalRate.setPropertyDataSource(new CurrencyFormatter("#0.00 ", currency, internationalRate.getPropertyDataSource()));

不幸的是,使用 Vaadin,您无法创 build 置自己的格式化程序的 TextField。

关于java - 表单上的 Vaadin 属性格式化程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6647222/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com