我的表单包含一个ComboBox和一个TextField。每当用户在ComboBox中选择某些内容时,TextField的内容将根据选择设置为某个值。问题是TextField附加了一个Validator,需要很长时间才能处理。只有在验证完成后,才会显示TextField的新值。是否有可能在验证之前显示新值或以某种方式在后台线程中进行验证?由于Validator使用布尔方法实现接口,我必须返回一些东西,所以我不知道如何做到这一点。
答案 0 :(得分:1)
您可以尝试Refresher addon。不要使用addValidator(Validator)
方法添加验证程序,而是添加ValueChangeListener
并在后台线程中运行验证程序。
只需在布局中的某处添加Refresher,并在文本字段的值更改后启用它。您可以在valueChange
方法中启动一个新线程,让Refresher轮询服务器端,直到验证器完成。
如果您需要一个例子,请告诉我。我自己没有这样做,但这就是我试图解决问题的方法。