new Timer(100, new ActionListener() { @Override public void actionPerformed(ActionEvent e) { long diff = System.currentTimeMillis() - start_time; icon.getSvgUniverse().setCurTime(diff % (10 * 1000)); try { icon.getSvgUniverse().updateTime(); } catch (SVGException ex) { ex.printStackTrace(); } icon.paintIcon(null, g2, 0, 0); //or repaint it somehow! } }).start();
public void mouseClicked(MouseEvent evt) { SVGDiagram diagram = svgDisplayPanel.getDiagram(); if (diagram == null) return; System.out.println("Picking at cursor (" + evt.getX() + ", " + evt.getY() + ")"); try { List paths = diagram.pick(new Point2D.Float(evt.getX(), evt.getY()), null); for (int i = 0; i < paths.size(); i++) { ArrayList path = (ArrayList)paths.get(i); System.out.println(pathToString(path)); } } catch (SVGException ex) { ex.printStackTrace(); } } }
private void panel_svgAreaMouseReleased(java.awt.event.MouseEvent evt)//GEN-FIRST:event_panel_svgAreaMouseReleased {//GEN-HEADEREND:event_panel_svgAreaMouseReleased SVGDiagram diagram = svgDisplayPanel.getDiagram(); List pickedElements; try { pickedElements = diagram.pick(new Point(evt.getX(), evt.getY()), null); } catch (SVGException ex) { ex.printStackTrace(); return; } System.out.println("Pick results:"); for (Iterator it = pickedElements.iterator(); it.hasNext();) { ArrayList path = (ArrayList)it.next(); System.out.print(" Path: "); for (Iterator it2 = path.iterator(); it2.hasNext();) { SVGElement ele = (SVGElement)it2.next(); System.out.print("" + ele.getId() + "(" + ele.getClass().getName() + ") "); } System.out.println(); } }//GEN-LAST:event_panel_svgAreaMouseReleased
public void paintComponent(Graphics gg) { Graphics2D g = (Graphics2D)gg; if (bgColor != null) { Dimension dim = getSize(); g.setColor(bgColor); g.fillRect(0, 0, dim.width, dim.height); } g.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); g.setRenderingHint(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_QUALITY); if (diagram != null) { try { diagram.render(g); } catch (SVGException e) { e.printStackTrace(); } } }
/** * Sets the dimensions of the device being rendered into. This is used by * SVGRoot when its x, y, width or height parameters are specified as * percentages. */ public void setDeviceViewport(Rectangle deviceViewport) { this.deviceViewport.setBounds(deviceViewport); if (root != null) { try { root.build(); } catch (SVGException ex) { ex.printStackTrace(); } } } }