我是 GWT 的新手。在我看到的代码示例中,演示者定义了一个包含 asWidget 方法的接口(interface) Display。 例如,
public interface Display {
HasClickHandlers getSaveButton();
HasValue<String> getName();
...
Widget asWidget();
}
然后presenter实现go()方法:
public void go(final HasWidgets container){
...
container.add(display.asWidget());
}
仅将显示转换到 Widget 有什么问题,例如
container.add((Widget) display);
谢谢!
最佳答案
asWidget()
在 GWT 中是为了方便测试。
有了它,您可以在测试中使用显示和其他 View 组件的 stub 实现,而无需扩展抽象类 Widget。
所以在你的情况下,你的显示可以是任何类,不一定是Widget,唯一的条件是它返回一个Widget。
Here你可以阅读更完整的解释。
关于java - 在 GWT 中,为什么约定使用 asWidget() 而不是强制转换?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19548993/