GWT复合最佳实践

GWT复合最佳实践,gwt,composite,Gwt,Composite,我正在学习GWT,并已开始掌握它的窍门。我的代码已经到了乱七八糟的地步,所以我要回去把它的合理部分分解成复合物。我遇到的第一个问题是,我的工具支持未能为新的复合类提供initWidget()方法。它确实包含了一个默认构造函数。 目前,我只是用调用super(initWidget(w))来填充我被重写的initWidget()方法,我的项目按照预期编译和运行,尽管我觉得我一定错过了一些东西 重写init时应该记住什么?如果需要在构造函数中放置任何内容,该怎么办。还有什么我需要知道的吗?或者,在这之

我正在学习GWT,并已开始掌握它的窍门。我的代码已经到了乱七八糟的地步,所以我要回去把它的合理部分分解成复合物。我遇到的第一个问题是,我的工具支持未能为新的复合类提供initWidget()方法。它确实包含了一个默认构造函数。
目前,我只是用调用
super(initWidget(w))
来填充我被重写的
initWidget()
方法,我的项目按照预期编译和运行,尽管我觉得我一定错过了一些东西

重写init时应该记住什么?如果需要在构造函数中放置任何内容,该怎么办。还有什么我需要知道的吗?或者,在这之后,它是否可以归结为常规的旧Java

澄清-我意识到这个问题可能有不同的答案,这取决于您是打算将所述的
复合类作为库的一部分发布,还是仅仅作为独立应用程序的一部分发布。我特别不打算在这个时候开发外部有用的组件(主要是因为我对这项技术非常熟悉。)

谢谢

“”给出了一些提示。您还应该查看GWT的源代码和GWT的一个库的源代码(如)

[编辑]我刚刚看到另一个选项:。根据描述:

有助于保持GWT客户端代码干净和模块化的微型库


我不知道我是否明白你想做什么。但是对于我所写的所有组合,我从未重写过initWidget方法。因为组合本身不需要用构造函数初始化,也就是说,不需要调用super(),所以扩展组合的小部件的构造函数如下所示:

public mywidget() {
  SomePanel p = new SomePanel();
  ....
  initWidget(p);
}

作为一种最佳实践,在我看来,只有小部件扩展组合才应该将其称为“自己的”initWidget。

我认为这可能是我关于自定义小部件的所有问题的答案。我还遇到了这样一种情况:gui工具无法呈现我的许多自定义小部件,很可能是因为我的构造函数和init调用都不正确。我回家后会去看看的。。。谢谢