public GVTDemoLauncher(String title, GVTDemoSetup setup) {
super(title);
// Note that the order of the two calls below matters!
GraphicsNodeRenderContext context = setup.createGraphicsContext();
GraphicsNode node = setup.createGraphicsNode();
EventDispatcher dispatcher = setup.createEventDispatcher();
JComponent comp = new JSVGCanvas(node, context);
getContentPane().add(comp, BorderLayout.CENTER);
// for now, event listening in GVTDemoSetup is optional
if (dispatcher != null) {
if (dispatcher instanceof MouseListener) {
comp.addMouseListener((MouseListener) dispatcher);
}
if (dispatcher instanceof MouseMotionListener) {
comp.addMouseMotionListener((MouseMotionListener) dispatcher);
}
if (dispatcher instanceof KeyListener) {
comp.addKeyListener((KeyListener) dispatcher);
}
dispatcher.setRootNode(node);
}
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent evt) {
System.exit(0);