Java JSVGCanvas中的文本编辑
这是一个在线svg编辑,它有一个文本编辑,我可以在JSVGCanvas中进行吗Java JSVGCanvas中的文本编辑,java,swing,canvas,svg,Java,Swing,Canvas,Svg,这是一个在线svg编辑,它有一个文本编辑,我可以在JSVGCanvas中进行吗 首先,您的JSVGCanvas应该显示空SVG,如下所示: DOMImplementation imp = SVGDOMImplementation.getDOMImplementation(); DocumentType type = imp.createDocumentType(SVGConstants.SVG_PUBLIC_ID, SVGConstants.SVG_SYSTEM_ID, null); Docum
首先,您的JSVGCanvas应该显示空SVG,如下所示:
DOMImplementation imp = SVGDOMImplementation.getDOMImplementation();
DocumentType type = imp.createDocumentType(SVGConstants.SVG_PUBLIC_ID, SVGConstants.SVG_SYSTEM_ID, null);
Document svgDoc = imp.createDocument(SVGDOMImplementation.SVG_NAMESPACE_URI, "svg", type);
JSVGCanvas canvas = new SVGCanvas(new SVGUserAgentAdapter(), true, true);
canvas.setDocumentState(JSVGCanvas.ALWAYS_DYNAMIC);
canvas.setSVGDocument(svgDoc);
添加鼠标和按键侦听器以获取x、y和文本。创建文本元素后:
Element textElement = svgDoc.createElementNS(svgNS, "text");
textElement.setAttributeNS(null, "x", x);
textElement.setAttributeNS(null, "y", y);
textElement.setTextContent(text);
svgDoc.getDocumentElement().appendChild(textElement);
选择文本由JSVGCanvas的textSelectionManager提供:
canvas.getTextSelectionManager()
没人知道?我很担心!!