I found example source. So try it. But "mouse click" is not good.
please give me a piece of advice. ===================================== [site0001x002.svg] <?xml version="1.0" standalone="no"?> <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd"> <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <script type="application/java-archive" xlink:href="SVGApplication.jar" /> <circle id="myclic-circle" cx="25" cy="25" r="25" fill="blue" /> </svg> ===================================== [SVGApplication.java] import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import javax.swing.JFrame; import org.apache.batik.swing.JSVGCanvas; import org.apache.batik.swing.svg.SVGLoadEventDispatcherAdapter; import org.apache.batik.swing.svg.SVGLoadEventDispatcherEvent; import org.apache.batik.script.Window; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.events.Event; import org.w3c.dom.events.EventListener; import org.w3c.dom.events.EventTarget; public class SVGApplication { public static void main(String[] args) { new SVGApplication(); } JFrame frame; JSVGCanvas canvas; Document document; Window window; public SVGApplication() { frame = new JFrame(); canvas = new JSVGCanvas(); // Forces the canvas to always be dynamic even if the current // document does not contain scripting or animation. canvas.setDocumentState(JSVGCanvas.ALWAYS_DYNAMIC); canvas.addSVGLoadEventDispatcherListener (new SVGLoadEventDispatcherAdapter() { public void svgLoadEventDispatchStarted (SVGLoadEventDispatcherEvent e) { // At this time the document is available... document = canvas.getSVGDocument(); // ...and the window object too. window = canvas.getUpdateManager(). getScriptingEnvironment().createWindow(); // Registers the listeners on the document // just before the SVGLoad event is dispatched. registerListeners(); // It is time to pack the frame. frame.pack(); } }); frame.addWindowListener(new WindowAdapter() { public void windowOpened(WindowEvent e) { // The canvas is ready to load the base document // now, from the AWT thread. canvas.setURI("site0001x002.svg"); } }); frame.getContentPane().add(canvas); frame.setSize(800, 600); frame.show(); } public void registerListeners() { // Gets an element from the loaded document. Element elt = document.getElementById("myclic-circle"); EventTarget t = (EventTarget)elt; // Adds a 'onload' listener t.addEventListener("SVGLoad", new OnLoadAction(), false); // Adds a 'onclick' listener t.addEventListener("click", new OnClickAction(), false); } public class OnLoadAction implements EventListener { public void handleEvent(Event evt) { // Make some actions here... // ... for example start an animation loop: window.setInterval(new Animation(), 50); } } public class OnClickAction implements EventListener { public void handleEvent(Event evt) { // Make some actions here... // ... for example schedule an action for later: // Gets an element from the loaded document. Element elt = document.getElementById("myclic-circle"); elt.setAttributeNS(null, "fill", "#0F0"); // window.setTimeout(new DelayedTask(), 500); } } public class Animation implements Runnable { public void run() { // Insert animation code here... } } public class DelayedTask implements Runnable { public void run() { // Make some actions here... // ... for example displays an alert dialog: window.alert("Delayed Action invoked!"); } } } =============================================== [compile] javac -cp ../WEB-INF/lib/batik-all.jar SVGApplication.java jar -cvf SVGApplication.jar *.class =============================================== site0001x002.svg and SVGApplication.jar are located same folder. -- View this message in context: http://www.nabble.com/SVGApplication-no-response-tf1935838.html#a5304045 Sent from the Batik - Users forum at Nabble.com. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
