我在我的简单应用程序中使用 VAADIN 框架。我有我的 2 个自定义组件,例如
@ClientWidget(value = VComponent1.class)
public class Component1 {
private Component2 cmp2;
public void setDataSource(Component2 cmp2) {
this.cmp2 = cmp2;
}
}
和
@ClientWidget(value = VComponent2.class)
public class Component2 {
}
我想在服务器端绑定它们。
...
Component2 cmp2 = new Component2();
Component1 cmp1 = new Component1();
cmp1.setDataSource(cmp2);
mainWindow.addComponent(cmp1);
mainWindow.addComponent(cmp2);
...
问题是我不知道如何将绑定信息发送到 VComponent1。
VComponent1 应该直接链接到 VComponent2
public class VComponent2 implements Paintable {
public String getCurrentData() {
return "Hello";
}
}
public class VComponent1 implements Paintable,
ClickHandler {
VComponent2 dataSource;
@Override
public void onClick(ClickEvent event) {
super.onClick(event);
String data = dataSource.getCurrentData();
client.updateVariable(uidlId, "curData", data, true);
}
}
由于某些特定的时间问题,我需要避免通过 Component2 的服务器部分进行通信。VComponent1 应该可以直接访问 VComponent2。
你能帮我解决我的情况吗?
谢谢, 有友