2017-02-17 22 views
1

Я пытаюсь добавить event listener к более DOM elementБатик событие слушатель

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); 

Но он не работает вообще.

Кто-нибудь знает, где проблема?

ответ

1

Наконец я нашел решение:

svgCanvas.setDocumentState(JSVGCanvas.ALWAYS_INTERACTIVE); 

 Смежные вопросы

  • Нет связанных вопросов^_^