我开始在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表单?
答案 0 :(得分:11)
使用CSS和HTML的GWT UI设计的好例子(过于简化但概念清晰)是Tags First GWT。
我同意你的观点,如果遵循Google文档中的通用示例,那就不是一种愉快的体验。最近事情发生了变化,但它们尚未在Google文档中得到充分反映。请尝试以下操作:在继续GWT开发之前,请观看以下两个演示文稿:Best Practices和Performance Tips。
不使用基于CSS的UI设计,事件总线,基于命令模式的GWT-RPC,MVP表示层和google-gin(Guice的GWT实现),就像在任何其他重型GUI中一样,很难克服GWT的复杂性框架。
如果你喜欢这些想法(在上面的演示文稿中描述),你可能需要考虑实施其中一些模式的gwt-dispatch和gwt-presenter。
很少有例子:GWT MVP Example和 Apache Labs Hupa GWT-based webmail
更新: 最新的GWT MVP设计在GWT 2.1和/或GWT MVP框架中查找gwt-platform(以及其他可能适合您的框架)。
答案 1 :(得分:7)
UiBinder(GWT 2.0)可能会有所帮助
答案 2 :(得分:1)
Geez可能会对您有所帮助。
Geez为GWT提供了易于使用的样式布局,并提供了一系列静态方法来构建常用的小部件。
答案 3 :(得分:0)
我们使用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框架的一部分。
答案 4 :(得分:0)
与UiBinder结合使用http://code.google.com/p/gwt-pectin/