在一个面板中,我添加了3个复合
public class frame {
//Initialization
....
....
public Service service = new Service();
public frame () {
initWidget(getFramePanel());
}
private HorizontalPanel getFramePanel() {
if (hp== null) {
hp= new HorizontalPanel();
hp.setSize("1442px", "750px");
hp.add(getTree());// **are composites**
hp.add(getTable()); // **are composite**
}
return hp;
}据我所知,这两个tree和table都是在同一个类中添加到hp中的,因此我可以在两个组合中使用在该类中初始化的变量或对象。
ex : service对象在frame类中,因此我想知道是否可以在这两个组合中使用service。
在树和表的组合中。如果是,那怎么做?
这段代码可能不正确,因为我没有复制粘贴代码.
发布于 2012-04-17 14:01:46
您可以尝试使用观察者模式,创建一个具有调用服务的方法的接口,例如。"callService“并创建一个对象callService,在类"frame"中实现该接口。这个对象将实现接口,这样它将获得和使用复合的两个子(getTree()和getTable())的值。
将此对象MyInterfaceImpl传递给两个组合,通过构造函数或方法传递给,然后您可以始终从任何一个组合的UI对象的eventHandler调用该对象MyInterfaceImpl's方法。
希望这能有所帮助。
发布于 2012-04-17 14:41:48
您可以在树和表上设置的任何回调、事件处理程序等中使用该服务。但我相信你必须做最后的决定。
https://stackoverflow.com/questions/10177214
复制相似问题