如何更改Text元素中的文本

时间:2014-04-11 06:52:29

标签: java svg svg-salamander

我的SVG文件中有这一行:

<text id="region1Text" class="regionText" x="77" y="167">2</text>

我可以用这个获得Text类的对象,但我看不到任何可用的方法将“2”改为另一个数字。 appendText方法似乎什么都不做,我看到没有“setText”方法。

我的代码:

StringReader reader = new StringReader(svgInString);
uri = SVGCache.getSVGUniverse().loadSVG(reader, "myImage");
SVGDiagram diagram = SVGCache.getSVGUniverse().getDiagram(uri); 
Text text = (Text) diagram.getElement("region1Text");
text.appendText("20");

调试时我可以看到文本对象的内容变量设置为“2”(所以我认为文本元素是正确的)但是我无法改变它。

1 个答案:

答案 0 :(得分:0)

在附加文本后,您必须使用text.rebuild()功能。总的来说它看起来像这样:

StringReader reader = new StringReader(svgInString);
uri = SVGCache.getSVGUniverse().loadSVG(reader, "myImage");
SVGDiagram diagram = SVGCache.getSVGUniverse().getDiagram(uri); 
Text text = (Text) diagram.getElement("region1Text");
text.appendText("20");
text.rebuild();