Vaadin 7和applet

时间:2014-12-04 16:29:03

标签: vaadin

0.7,我想调用一个小程序来使用令牌。

我做了各种测试: 1)使用AppletIntegration 1.2.9,但是当我调用applet时,会出现异常" ClassNotFoundException PaintTarget" 2)按https://github.com/Haulmont/AppletIntegration/releases下载Legacy 1.2.10,但是当我调用页面时,我有异常"" Widgetset不包含org.vaadin.applet.AppletIntegration的实现。检查其@ClientWidget映射,widgetsets GWT模块描述文件并重新编译您的widgetset。如果您下载了vaadin附加软件包,则可能需要参考附加说明。未呈现的UIDL:

org.vaadin.applet.AppletIntegration(未找到客户端实施)" 3)我创建了一个类AppletCustom



public class AppletCustom extends CustomComponent {
    public AppletCustom(String codebase, 
            String archive, 
            String code,
            String width, 
            String height,
            Map<String, String> params) {
        setCompositionRoot(new Label("<div id='appletDiv'></div>", ContentMode.HTML));
        StringBuilder sb = new StringBuilder();
                /* create the applet */
        sb.append("var obj = document.createElement('object');");
        sb.append("obj.setAttribute('type','application/x-java-applet');");
        sb.append("obj.setAttribute('width','" + width + "');");
        sb.append("obj.setAttribute('height','" + height + "');");        
        
        sb.append("var codeParam = document.createElement('param');");
        sb.append("codeParam.setAttribute('name', 'code');");
        sb.append("codeParam.setAttribute('value', '" + code + "');");
        sb.append("obj.appendChild(codeParam);");        
        
        sb.append("var archiveParam = document.createElement('param');");
        sb.append("archiveParam.setAttribute('name', 'archive');");
        sb.append("archiveParam.setAttribute('value','" + archive + "');");
        sb.append("obj.appendChild(archiveParam);");
         
        sb.append("var param = document.createElement('param');");
        sb.append("param.setAttribute('name', 'codebase');");
        sb.append("param.setAttribute('value','" + codebase + "');");
        sb.append("obj.appendChild(param);");
        
        /* add params to the applet if you like */
        if(params != null && !params.isEmpty()){
            Iterator<Entry<String, String>> it = 
                    params.entrySet().iterator();
            while (it.hasNext()) {
                Map.Entry<String, String> pairs = (Map.Entry<String, String>) it.next();
                sb.append("param = document.createElement('param');");
                sb.append("param.setAttribute('name', '" + pairs.getKey() + "');");
                sb.append("param.setAttribute('value','" + pairs.getValue() + "');");
                sb.append("obj.appendChild(param);");
            }
        }        
        sb.append("document.getElementById('appletDiv').appendChild(obj);");
        JavaScript.getCurrent().execute(sb.toString());
    }
}
&#13;
&#13;
&#13;

我在页面中调用它。小程序正确看到但我必须使用方法

返回一个值

&#13;
&#13;
vaadinUpdateVariable("docName", docName + SIGNED_FILE_SUFFIX, true);
&#13;
&#13;
&#13;

我如何解决我的问题?

1 个答案:

答案 0 :(得分:0)

你可能遇到过两个Maven GWT插件错误之一:[MGWT-147] [1]或[MGWT-148] [2]就像[Henri Sara] [3]所说的那样。

我推荐了这个博客:Vaadin addons and maven and eclipse.

请阅读此内容:Using Vaadin with Maven 2

帮助您完成附加工作。如果仍然没有修复我使用[Embedded] [6] ui组件引用并避免使用硬编码html标签。

我希望如果我帮助你,如果不是我很抱歉我所知道的关于Vaadin + applets。

1#jira.codehaus(。)org / browse / MGWT-147

2个#jira.codehaus(。)的有机/浏览/ MGWT-148

3#vaadin COM / C / my_sites /查看的groupId = 13199&安培(。); privateLayout = 0 4#vaadin(。)com / download / prerelease / 7.0 / 7.0.0 / 7.0.0.rc2 / docs / api / com / vaadin / ui / Embedded.html