Java 蜡染事件侦听器

Java 蜡染事件侦听器,java,events,dom,svg,batik,Java,Events,Dom,Svg,Batik,我正在尝试向DOM元素添加事件侦听器 Element image = svgDocument.createElementNS(Constants.SVG_NS, SVG_IMAGE_TAG); image.setAttributeNS(Constants.SVG_NAMESPACE_XLINK_URI, SVGConstants.XLINK_HREF_QNAME, "file:///" + selectedDirectory.getPath());

我正在尝试向
DOM元素添加
事件侦听器

Element image = svgDocument.createElementNS(Constants.SVG_NS, SVG_IMAGE_TAG);
                image.setAttributeNS(Constants.SVG_NAMESPACE_XLINK_URI, SVGConstants.XLINK_HREF_QNAME, "file:///" +  selectedDirectory.getPath());
                image.setAttributeNS(null, SVGConstants.SVG_X_ATTRIBUTE, Integer.toString(0));
                image.setAttributeNS(null, SVGConstants.SVG_Y_ATTRIBUTE, Integer.toString(0));
                image.setAttributeNS(null, SVGConstants.SVG_WIDTH_ATTRIBUTE, Integer.toString(150));
                image.setAttributeNS(null, SVGConstants.SVG_HEIGHT_ATTRIBUTE, Integer.toString(150));
                image.setAttributeNS(null, SVGConstants.SVG_HEIGHT_ATTRIBUTE, Integer.toString(150));

                // Listener
                ((EventTarget) image).addEventListener(
                        "click",
                        new org.w3c.dom.events.EventListener() {
                            @Override
                            public void handleEvent(Event evt) {
                                System.out.println("listener");
                            }
                        }, false);

svgDocument.getRootElement().appendChild(image);
但它根本不起作用


有人知道问题出在哪里吗?

我终于找到了解决方案:

svgCanvas.setDocumentState(JSVGCanvas.ALWAYS_INTERACTIVE);