我想将ganttchart GWT小部件与https://code.google.com/p/gwtgantt/提供的vaadin7应用程序集成
我浏览了一些关于将GWT小部件与vaadin7集成的链接,但我认为我不理解。
另外,我是否需要在vaadin中编写连接器和其他东西来集成GWT小部件?如果是,那么我不太清楚我将在那写什么。
之前有没有人用vaadin7尝试过相同的GWT小部件?
任何指针或示例代码都将非常感激。
的问候,
阿扎
答案 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,图像资源,现在你可以通过服务器端类使用你的附加组件了。