繁体   English   中英

使用蜡染将元素添加到DOM文档中

[英]Adding an element to a DOM document with batik

晚上好,

我的问题是在我的DOM文档中添加元素(矩形)时。

添加过程如下:

创建元素rect淡蓝色/荧光色

Node node = doc.createElement("rect");
Element elem = (Element)node;
elem.setAttribute("fill", obj.getColor());

包含在一组元素中

Node newZone = doc.createElement("g");
Element elemZone = (Element)newZone;
elemZone.setAttribute("id", zone);

将元素rect添加到元素g

elemZone.appendChild(elem);

添加到文档

doc.getElementById(idUse).appendChild(elemZone);

更新文档JSVGCanvas(允许显示svg)

svg.setDocument(doc);

因此,看上去也很奇怪,所以考虑到了更改,因为当我保存文档并显示文件时,我看到了更改。

但是应用程序中没有任何更新。

另外,我按照相同的过程添加了一个元素(符号+使用)。 JSVGCanvas和更新文档是经过深思熟虑的并且也是可见的。

预先感谢您的帮助 ...

备注:-重涂已测试的np次。 -使用文档启动应用程序:矩形看起来不错。

SVG元素必须在SVG命名空间中创建,因此请替换

Node node = doc.createElement("rect");

通过

Node node = doc.createElementNS("http://www.w3.org/2000/svg", "rect");

<g>元素相同。 对文档进行序列化和反序列化将解决名称空间问题,这就是为什么您在重新加载时看不到它的原因。

对于蜡染,您还必须致电

jsvgCanvas.setDocumentState(JSVGCanvas.ALWAYS_DYNAMIC);

还要先加载内容,然后在更新管理器的线程中进行所有更改。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM