1 6 7 package com.thoughtriver.open.vectorvisuals.example.animation; 8 9 import java.awt.*; 10 import java.awt.geom.*; 11 12 import javax.swing.*; 13 14 import com.thoughtriver.open.vectorvisuals.*; 15 import com.thoughtriver.open.vectorvisuals.task.*; 16 17 25 public class ObjectTranslating implements Runnable { 26 27 28 private VVDisplay vvDisplay = null; 29 30 33 public ObjectTranslating() { 34 vvDisplay = new VVDisplay(new VVPanel()); 35 } 36 37 40 public void run() { 41 JFrame frame = new JFrame("Vector Visuals Object Translating Example"); 42 frame.setSize(640, 480); 43 frame.getContentPane().setLayout(new BorderLayout()); 44 frame.getContentPane().add(vvDisplay.getViewPane(), BorderLayout.CENTER); 45 frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 46 47 frame.setVisible(true); 48 49 vvDisplay.getViewPane().setBackground(Color.DARK_GRAY); 51 vvDisplay.setWorldViewTranslation(80, 20); 52 vvDisplay.setWorldViewScale(1); 53 54 Brush rectLineBrush1 = new Brush(Color.WHITE, null, null); 56 Brush rectFillBrush1 = new Brush(Color.RED, null, null); 57 VisualObject rectangle1 = new VisualObject(new Rectangle2D.Double(0, 0, 115, 40), rectLineBrush1, rectFillBrush1); 58 rectangle1.setTransform(AffineTransform.getTranslateInstance(120, 150)); 59 60 Brush rectLineBrush2 = new Brush(Color.BLACK, null, null); 62 Brush rectFillBrush2 = new Brush(Color.YELLOW, null, null); 63 VisualObject rectangle2 = new VisualObject(new Rectangle2D.Double(0, 0, 40, 90), rectLineBrush2, rectFillBrush2); 64 rectangle2.setTransform(AffineTransform.getTranslateInstance(240, 75)); 65 66 Brush lineBrush3 = new Brush(Color.YELLOW, null, null); 68 Brush fillBrush3 = new Brush(Color.BLUE, null, null); 69 VisualObject ellipse = new VisualObject(new Ellipse2D.Double(0, 0, 120, 80), lineBrush3, fillBrush3); 70 ellipse.setTransform(AffineTransform.getTranslateInstance(210, 180)); 71 72 Brush brush = new Brush(Color.YELLOW, null, null); 74 VisualTextObject textObj = new VisualTextObject("Vectors translate nicely", null, null, brush); 75 76 AffineTransform transform = textObj.getTransform(); 78 transform.scale(2.0, 2.0); 79 transform.translate(15, 120); 80 textObj.setTransform(transform); 81 82 vvDisplay.addObject(rectangle1); 84 vvDisplay.addObject(rectangle2); 85 vvDisplay.addObject(ellipse); 86 vvDisplay.addObject(textObj); 87 88 TaskChain chain = new TaskChain(); 90 chain.addTask(new TranslationTask(textObj, 100, 75, 4000)); 91 chain.addTask(new TranslationTask(textObj, -40, -100, 2000)); 92 chain.addTask(new TranslationTask(textObj, -60, 25, 3000)); 93 vvDisplay.getTaskManager().addTask(chain); 94 95 vvDisplay.getTaskManager().addTask(new TranslationTask(rectangle1, 50, -50, 10000)); 96 vvDisplay.getTaskManager().addTask(new TranslationTask(rectangle2, -15, 75, 5000)); 97 98 chain = new TaskChain(); 99 chain.addTask(new TranslationTask(ellipse, 0, -50, 2000)); 100 chain.addTask(new TranslationTask(ellipse, -30, 75, 5000)); 101 vvDisplay.getTaskManager().addTask(chain); 102 } 103 104 109 public static void main(final String [] args) { 110 Runnable example = new ObjectTranslating(); 111 example.run(); 112 } 113 114 } 115 | Popular Tags |