将GWT小部件与vaadin 7集成

时间:2013-06-05 10:00:31

标签: gwt vaadin

我想将ganttchart GWT小部件与https://code.google.com/p/gwtgantt/提供的vaadin7应用程序集成

我浏览了一些关于将GWT小部件与vaadin7集成的链接,但我认为我不理解。

另外,我是否需要在vaadin中编写连接器和其他东西来集成GWT小部件?如果是,那么我不太清楚我将在那写什么。

之前有没有人用vaadin7尝试过相同的GWT小部件?

任何指针或示例代码都将非常感激。

的问候,
阿扎

2 个答案:

答案 0 :(得分:1)

当您能够使用Vaadin 7时,这篇wiki文章应该可以帮助您入门: https://vaadin.com/wiki/-/wiki/Main/Integrating%20an%20existing%20GWT%20widget

我相信它可以处理你所要求的。

答案 1 :(得分:0)

基本上,您需要为GWT小部件编写服务器端代码,并使用通信功能扩展GWT小部件。这是一个很好的项目,您可以从https://github.com/360-Innovations/VaadinSmartGWT

开始

一个小例子(对于Vaadin 6):

1使用eclipse安装Vaadin插件创建一个Vaadin项目然后创建Vaadin小部件unpon那个项目,Vaadin插件将生成所有的螺母和螺栓。

2写代码
GanttChart的客户端类包装器它实现了与服务器端通信的Paintable接口

    public class VGanttChart extends GanttChart implements Paintable {

     public void paint(PaintTarget target) throws PaintException {

     }

     public void requestRepaint() {

     }

     ... ...

}

使用每种方法,请查看 public void paint(PaintTarget target) throws PaintException { } public void requestRepaint() { } ... ... } 的来源评论 服务器端对应的类:

Paintable.class

3作为Vaadin附加软件包导出,这也是由Vaadin插件提供的。

4将导出的jar添加到项目/ WEB-INF / lib,通过添加加载项的widgetset来编辑XXXWidgetset.gwt.xml文件,如下所示: @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) { } ... ... }

<inherits name="package path to your add-on's widgetset def file"/> 如果您的widgetset def文件为 ,则属性名称的值应为myWidgetset.gwt.xml

5编译你的Widgetset,这也是由Vaadin eclipse插件提供的,在编译之后,生成了一组新的javascript,css,图像资源,现在你可以通过服务器端类使用你的附加组件了。