我开始在 google 上通过示例学习GWT我的第一个结论是:代码太多

像这样:

stocks.add(symbol);
        stocksFlexTable.setText(row, 0, symbol);
        stocksFlexTable.setWidget(row, 2, new Label());
        stocksFlexTable.getCellFormatter().addStyleName(row, 1,
                "watchListNumericColumn");
        stocksFlexTable.getCellFormatter().addStyleName(row, 2,
                "watchListNumericColumn");
        stocksFlexTable.getCellFormatter().addStyleName(row, 3,
                "watchListRemoveColumn");

GWT是否有任何扩展来减少代码大小和简化创建GWT表单?

有帮助吗?

解决方案

使用CSS和HTML的GWT UI设计的好例子(过于简化但概念清晰)是标签First GWT

我同意你的观点,如果遵循Google文档中的通用示例,那就不是一种愉快的体验。最近事情发生了变化,但它们尚未在Google文档中得到充分反映。请尝试以下操作:在继续使用GWT开发之前,请观看以下2个演示文稿:最佳实践效果提示

不使用基于CSS的UI设计,事件总线,基于命令模式的GWT-RPC,MVP表示层和 google-gin (Guice的GWT实现)很难克服GWT中的复杂性,就像在任何其他繁重的GUI框架中一样。

如果你喜欢这些想法(在上面的演示文稿中描述),你可能需要考虑 gwt-发送 gwt-presenter 实施其中一些模式。

几个例子是: GWT MVP示例 Apache Labs Hupa基于GWT的网络邮件

更新: 最新的GWT MVP设计在GWT 2.1中寻找 GWT MVP /或 gwt-platform 框架(以及其他可能适合您的框架)。

其他提示

UiBinder (GWT 2.0)可能会有所帮助

Geez 可能对您有所帮助。

Geez为GWT提供了易于使用的样式布局,并提供了一系列静态方法来构建常用的小部件。

我们使用 FormBuilder 类可以在代码中轻松紧凑地构造表单:

ListBox type = ...
TextBox notes = ...

FormBuilder b = new FormBuilder();
b.label("Chart type").field(type).endRow();
b.label("Notes").field(notes).wrap().endRow();
b.add("Some help text").style("help").wrap().endRow();

FlexTable form = b.getForm();
...

它跟踪当前行和列,根据用于添加它们的方法(标签,字段等)一致地设置单元格样式,确保一致的间距等等。每个方法返回一个FormBuilder以支持链接调用。像 wrap()这样的东西适用于之前添加的单元格。

此课程是 GWT Portlets 框架的一部分。

查看 http://code.google.com/p/gwt-pectin/ 与UiBinder结合使用

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top