【发布时间】:2011-08-12 08:34:16
【问题描述】:
我想要做的是将新元素插入从 JSVG 画布获取的 SVGDocument,以便它应该自动呈现并可以查看。
所以我有一个名为 SVGcanvas 的 JSVGCanvas,在 LoadEventDispatcher 中我得到了名为 doc 的 SVGDocument,如下代码:
this.SVGCanvas.addSVGLoadEventDispatcherListener(
new SVGLoadEventDispatcherAdapter() {
@Override
public void svgLoadEventDispatchStarted (SVGLoadEventDispatcherEvent e) {
doc = SVGCanvas.getSVGDocument();
...
}
}
up 基于此:http://www.svgopen.org/2002/papers/kormann__developing_svg_apps_with_batik/
然后在事件监听器中,我使用这段代码
public void handleEvent (Event evt) {
setRB(this.IDButtonGroup, this.ID);
Element r = ((SVGDocument) doc).createElement("use");
r.setAttribute("xhtml:href", "#cell");
doc.getDocumentElement().appendChild(r);
}
基于此:http://wiki.apache.org/xmlgraphics-batik/DynamicSvgOffscreen
我认为它会在屏幕上运行,但我仍然无法让它运行。任何人都可以帮忙吗? setRB 函数工作正常,所以我认为问题不在处理程序中。我认为 SVGCanvas 没有呈现新文档。文档应该是 SVGCanvas 的,因为我将 SVG Canvas 的文档状态设置为 ALWAYS_DYNAMIC,所以我认为它会自动更新。我错过了什么吗?
【问题讨论】: