Я использую рамки VAADIN в моем простом приложении. У меня есть 2 пользовательских компонента, например.Логика клиентского компонента VAADIN
@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.
Не могли бы вы помочь мне с моим сценарием.
Спасибо, Аритомо