基本上,您需要为 GWT 小部件编写服务器端代码,并使用通信能力扩展 GWT 小部件。这里有一个很好的项目让你开始使用https://github.com/360-Innovations/VaadinSmartGWT
一个小例子(对于 Vaadin 6):
1 使用安装了 Vaadin 插件的 eclipse 创建一个 Vaadin 项目,然后在该项目上创建 Vaadin 小部件,Vaadin 插件将生成所有细节。
2 编写代码
GanttChart的客户端类包装器它实现Paintable接口以与服务器端通信
public class VGanttChart extends GanttChart implements Paintable {
public void paint(PaintTarget target) throws PaintException {
}
public void requestRepaint() {
}
... ...
}
每种方法的使用,请查看源cmetsPaintable.class
一个服务器端对应的类:
@ClientWidget(value = VGanttChart.class, loadStyle = LoadStyle.EAGER)
public class GanttChart extends AbstractComponent {
public void paintContent(PaintTarget target) throws PaintException {
}
public void changeVariables(Object source, Map<String, Object> variables) {
}
... ...
}
3 导出为 Vaadin 插件包,这也是 Vaadin 插件提供的。
4 将导出的 jar 添加到您的项目 /WEB-INF/lib,编辑您的 XXXWidgetset.gwt.xml 文件,添加您的附加组件的小部件集,如下所示:
<inherits name="package path to your add-on's widgetset def file"/>
如果你的 widgetset def 文件是myWidgetset.gwt.xml,那么属性名的值应该是"package path to widgetset"/myWidgetset
5 编译你的Widgetset,这也是Vaadin eclipse插件提供的,编译后生成了一组新的javascript、css、图片资源,现在你可以通过服务端类来使用你的插件了。