Java GWT中的复合材料

Java GWT中的复合材料,java,gwt,Java,Gwt,在一个面板中,我添加了3个组合 public class frame { //Initialization .... .... public Service service = new Service(); public frame () { initWidget(getFramePanel()); } private HorizontalPanel getFramePanel() { if (hp== null) { hp= new Horizontal

在一个面板中,我添加了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;
}
据我所知,这两个
都添加到同一类中的
hp
,因此我可以在这两个组合中使用在该类中初始化的变量或对象

ex:
服务
对象在类
框架
中,因此我想知道我是否可以在这两个组合中使用
服务

在树和表组合中。如果是,那怎么办


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

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

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


希望对您有所帮助。

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