A
Andrexyz
Gast
Hallo
Ich habe ein kleines Problem. Ich möchte programmiere eine kleine Applikation mit denen man SVG XML Dateien einlesen kann und auch darstellen kann. Ganz normale XML Dateien auslesen und das DOM Document zu bearbeiten ist kein Problem, aber ich möchte mit Batik die Dateien auch darstellen. Das habe ich auch schon hin bekommen, aber leider nur mit:
Damit kann man SVG-xml Dateien ja direkt in den Canvas bringen. Im Internet habe ich auch gefunden wie man ein neues Document erstellt...leider nur leer:
wenn ich mien "normales" Dom document übergeben will bekomme ich eine Exception:
Ich will also nur XML dateien auslesen in das Canvas reinladen und dann direkt auf die XML datei zu greifen und verändern...damit es auch gleich im Canvas sich ändert.
Danke für eure Lösungsvorschläge, die offizielle Webseite von dem Batik hat mir leider nicht so geholfen.
mfg
André
Ich habe ein kleines Problem. Ich möchte programmiere eine kleine Applikation mit denen man SVG XML Dateien einlesen kann und auch darstellen kann. Ganz normale XML Dateien auslesen und das DOM Document zu bearbeiten ist kein Problem, aber ich möchte mit Batik die Dateien auch darstellen. Das habe ich auch schon hin bekommen, aber leider nur mit:
Code:
JSVGCanvas svgCanvas = new JSVGCanvas();
svgCanvas.setURI(xmlObj.getFile().toURI().toString());
Damit kann man SVG-xml Dateien ja direkt in den Canvas bringen. Im Internet habe ich auch gefunden wie man ein neues Document erstellt...leider nur leer:
Code:
DOMImplementation impl = SVGDOMImplementation.getDOMImplementation();
String svgNS = SVGDOMImplementation.SVG_NAMESPACE_URI;
Document doc = impl.createDocument(svgNS, "svg", null);
wenn ich mien "normales" Dom document übergeben will bekomme ich eine Exception:
ava.lang.ClassCastException: org.apache.batik.dom.GenericElement cannot be cast to org.w3c.dom.svg.SVGSVGElement
at org.apache.batik.dom.svg.SVGOMDocument.getRootElement(Unknown Source)
at org.apache.batik.bridge.BridgeContext.getBridgeExtensions(Unknown Source)
at org.apache.batik.bridge.BridgeContext.registerSVGBridges(Unknown Source)
at org.apache.batik.bridge.BridgeContext.setDocument(Unknown Source)
at org.apache.batik.bridge.GVTBuilder.build(Unknown Source)
at org.apache.batik.swing.svg.GVTTreeBuilder.run(Unknown Source)
Ich will also nur XML dateien auslesen in das Canvas reinladen und dann direkt auf die XML datei zu greifen und verändern...damit es auch gleich im Canvas sich ändert.
Danke für eure Lösungsvorschläge, die offizielle Webseite von dem Batik hat mir leider nicht so geholfen.
mfg
André