2011-06-14 64 views
0

对于我的一些莫名其妙的原因,杜松子酒不按我的意图工作。让我用一点代码解释。Gwt项目中的杜松子酒怪异行为

让说我有一个FORMA

@Singleton 
public class formA extends Composite 

    private final MyGinjector ginjector; 

    @Inject 
    public formA(MyGinjector ginjector) 
    { 
     this.ginjector = ginjector; 
     this.add(ginjector.getFormB()); 
     this.add(ginjector.getFormC()); 
    } 

这里和formB和formC(我们假设formB和formC也有类似的代码)

@Singleton 
public class formB extends Composite 
{ 
@Inject 
public formB(MyGinjector ginjector) 
{ 
    this.ginjector = ginjector; 
.............. 
} 
} 

而且我一直面临的问题是,在一些当我注入formA(ginjector.getFormA()返回formA的一个实例,但缺少childWidgets的意思是没有引用formB和formC

可能是什么问题?所有形式是单身...可能我不应该注射这样的注射器?

感谢

回答

0

我相信杜松子酒不支持注射进样器:gin groups discussion

是否有任何理由你尝试注射注射器,而不是直接注入依赖关系?

你应该只依赖注入直接:

@Inject 
    public formA(FormB formB, FormC formC){ 
+0

如果我直接注入同样的情况。这个问题很奇怪,因为实际上我添加formB和formC作为FormA中的一个窗口小部件,这是一个Compose,因此在2或3次调用FormA的实例不再保留窗口小部件formB和formC .. ..图像很简单.. formA保留两个面板(formB和formC),当我得到formA的实例,我期望看到这些面板,但他们缺少.. – brakebg 2011-06-14 14:04:56

相关问题