我从7.0.5版本转到7.1,我开始使用ProgressBar更改ProgressIndicator类,以使用新的轮询机制进行重构。
返回错误:
引起:java.lang.NoSuchMethodError:com / vaadin / ui / AbstractField.getState(Z)Lcom / vaadin / shared / AbstractFieldState; 在com.vaadin.ui.ProgressBar.getState(ProgressBar.java:108) 在com.vaadin.ui.ProgressBar.getState(ProgressBar.java:33) 在com.vaadin.ui.AbstractComponent.isReadOnly(AbstractComponent.java:535) 在com.vaadin.ui.AbstractField.isReadOnly(AbstractField.java:201) 在com.vaadin.ui.AbstractField.setValue(AbstractField.java:457) 在com.vaadin.ui.AbstractField.setValue(AbstractField.java:438) 在com.vaadin.ui.ProgressBar.setValue(ProgressBar.java:93) 在com.vaadin.ui.ProgressBar。(ProgressBar.java:50) 在com.vaadin.ui.ProgressBar。(ProgressBar.java:40)
任何人都可以解释一下吗?
由于
答案 0 :(得分:2)
我刚刚从7.0.5升级到7.1,为了使用新的,首选的ProgressBar
而我所要做的就是改变这一点:
ProgressIndicator pi = new ProgressIndicator();
pi.setPollingInterval(1000);
到此:
Progressbar pb = new ProgressBar();
UI.getCurrent().setPollInterval(1000);
应该在长时间运行操作被调用后调用第二行,因为它会导致UI每秒轮询一次更改。
如果您有自定义主题并且不扩展任何包含Vaadin的主题,也不要忘记更新新ProgressBar的样式。 HTML标记是相同的,但是,默认的CSS类名称已从v-progressindicator
更改为v-progressbar
;