
package script ;

import org.w3c.dom.* ;
import org.w3c.dom.events.* ;
import org.w3c.dom.svg.* ;
import org.w3c.dom.css.* ;

public class MyAction1 implements EventListener {

    public void handleEvent(Event evt) {
        Element target = (Element)evt.getTarget() ;
        SVGDocument svgdoc = (SVGDocument)target.getOwnerDocument() ;
        Element labelEl = svgdoc.getElementById("label") ;
        int x = ((MouseEvent)evt).getClientX() ;
        int y = ((MouseEvent)evt).getClientY() ;
        labelEl.setAttribute("x", String.valueOf(x)) ;
        labelEl.setAttribute("y", String.valueOf(y)) ;
        ((SVGStylable)labelEl).getStyle().setProperty("visibility", "visible", "t") ; // ?
        Text labelText = (Text)labelEl.getFirstChild() ;
        labelText.setData("mon label") ;
        float labelLen = ((SVGTextContentElement)labelEl).getComputedTextLength() ;
        Element labelRectEl = svgdoc.getElementById("labelRect") ;
        ((SVGStylable)labelRectEl).getStyle().setProperty("visibility", "visible", "") ;
        labelRectEl.setAttribute("x", String.valueOf(x-4)) ;
        labelRectEl.setAttribute("y", String.valueOf(y-11.5)) ;
        labelRectEl.setAttribute("width", String.valueOf(labelLen+10)) ;
    }

}
