如何将动态生成的SVG包含到Vaadin UI中?

Sid*_*r94 6 svg java-ee vaadin

我想知道Vaadin 7.0.5是否有可能在vaadin UI中包含SVG图形,而且没有任何附加组件.

我目前正在使用此代码

StreamResource ressourceSVG = new StreamResource(source, "graphe.svg");

Embedded embedded = new Embedded("SVG", ressourceSVG);
embedded.setType(Embedded.TYPE_OBJECT);
embedded.setMimeType("images/svg+xml");

verticalLayout.addComponent(embedded);
setContent(verticalLayout);
Run Code Online (Sandbox Code Playgroud)

而这一点,没有任何反应......只有浏览器中"SVG"文本的外观.

我在这个主题上发现的唯一主题是3年前的,并没有在书中找到线索.

在API中只存在接口:elemental.svg但它并没有真正帮助...

如果你们有任何线索......会很棒

Sid*_*r94 4

因此,答案似乎是,要在 Vaadin 7 中显示 SVG,应该使用 BrowserFrame 来显示 SVG 资源。

使用如下所示的内容,其中 sourceSVG 是包含 SVG 数据的streamSource。

StreamResource ressourceSVG = new StreamResource(sourceSVG, "graphe.svg");

BrowserFrame embedded = new BrowserFrame("SVG", ressourceSVG);

verticalLayout.addComponent(component);
verticalLayout.addComponent(embedded);
setContent(verticalLayout);
Run Code Online (Sandbox Code Playgroud)

加载网页后必须重新加载框架,但它终于成功了