我正在学习GWT,并开始了解它.我正处于我的代码变得混乱的地步,所以我要回去并将其合理地分解为复合材料.我遇到的第一个问题是我的工具支持未能为新的Composite类提供initWidget()方法.它确实包含一个默认构造函数.
暂时,我只是填写我的重写initWidget()
方法,调用super(initWidget(w))
我的项目编译并按预期运行,尽管我觉得我必须遗漏一些东西.
在覆盖init时我应该记住什么,以及如果我需要在构造函数中放置什么.还有什么我需要知道的,或者它只是归结为常规的旧Java之后?
澄清 - 我发现这个问题可能有不同的答案取决于你是打算将所述Composite
课程作为图书馆的一部分发布还是仅仅是你的独立应用程序的一部分.在这个时候我特别无意开发外部有用的组件(主要是因为我在这个特定的技术中如此绿色.)
谢谢!
我不确定我是否明白你要做什么.但对于我写过的所有复合材料,我从未覆盖过initWidget方法.因为Composite本身不需要用构造函数初始化,即不需要调用super(),我的构造函数的小部件扩展复合看起来像:
public mywidget() { SomePanel p = new SomePanel(); .... initWidget(p); }
作为最佳实践,imo,只有扩展Composite的小部件应该称之为'自己的'initWidget.