0

Java を使用して SVG を操作するために、batikSVG の操作に問題があるようです。SVG を JSVG キャンバスに問題なく表示できますが、getSVGDocument を使用してキャンバスの SVGDocument を表示しようとすると、null が返されるようです。それはなぜですか。また、実際のドキュメントを入手するにはどうすればよいですか?

jSVGCanvas1.setURI(new File("circle.svg").toURI().toString());

    jSVGCanvas1.setDocumentState(JSVGCanvas.ALWAYS_DYNAMIC);
    SVGDocument doc =   jSVGCanvas1.getSVGDocument();
    if(doc==null)System.out.println("null");

最後の行は、doc が null である場所をテストし、常に null を出力します。助けてください!

4

1 に答える 1

1

ドキュメントが読み込まれるまで待つ必要があり、それは非同期で行われます。このようなもの...

   jSVGCanvas1.addSVGDocumentLoaderListener(new SVGDocumentLoaderAdapter() {
        public void documentLoadingCompleted(SVGDocumentLoaderEvent e) {
          SVGDocument doc = jSVGCanvas1.getSVGDocument();
          if(doc==null)System.out.println("null");
        }
    });
于 2012-12-28T09:31:04.873 に答える