1

在一个面板中,我添加了 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;
}

我的理解是这两个都treetable添加到hp同一个类中,所以我可以使用在这个类中初始化的变量或对象,在这两个组合中

例如: service对象在课堂frame上,所以我想知道我是否可以service在两个组合中使用。

在树和表复合中。如果是,那么如何?

此代码可能不正确,因为我没有复制粘贴代码。

4

2 回答 2

2

您可以尝试使用观察者模式,创建一个具有调用服务的方法的接口,例如。"callService" 并创建一个对象"MyInterfaceImpl"在类 "fr​​ame"中实现此接口。该对象将实现接口,以便获取和使用两个子组合(getTree() 和 getTable())的值。

通过构造函数或方法将此对象MyInterfaceImpl 传递给两个组合,然后您始终可以从组合的 UI 对象的 eventHandler调用此对象MyInterfaceImpl的方法。

希望有帮助。

于 2012-04-17T14:01:46.800 回答
1

您可以在树和表上设置的任何回调、事件处理程序等中使用该服务。但我相信你必须让它成为最终的。

于 2012-04-17T14:41:48.153 回答