1 6 7 package com.thoughtriver.open.vectorvisuals.example.mouse; 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.ui.*; 16 17 26 public class ObjectDragging implements Runnable { 27 28 29 private VVDisplay vvDisplay = null; 30 31 34 public ObjectDragging() { 35 vvDisplay = new VVDisplay(new VVPanel()); 36 } 37 38 41 public void run() { 42 JFrame frame = new JFrame("Vector Visuals Object Dragging Example"); 43 frame.setSize(640, 480); 44 frame.getContentPane().setLayout(new BorderLayout()); 45 frame.getContentPane().add(vvDisplay.getViewPane(), BorderLayout.CENTER); 46 frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 47 48 frame.setVisible(true); 49 50 vvDisplay.getViewPane().setBackground(Color.DARK_GRAY); 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(120, 150, 115, 40), rectLineBrush1, rectFillBrush1); 58 59 Brush rectLineBrush2 = new Brush(Color.BLACK, null, null); 61 Brush rectFillBrush2 = new Brush(Color.YELLOW, null, null); 62 VisualObject rectangle2 = new VisualObject(new Rectangle2D.Double(240, 75, 40, 90), rectLineBrush2, rectFillBrush2); 63 64 Brush rectLineBrush3 = new Brush(Color.YELLOW, null, null); 66 Brush rectFillBrush3 = new Brush(Color.BLUE, null, null); 67 VisualObject rectangle3 = new VisualObject(new Rectangle2D.Double(380, 250, 60, 60), rectLineBrush3, rectFillBrush3); 68 69 Brush brush = new Brush(Color.YELLOW, null, null); 71 VisualTextObject textObj1 = new VisualTextObject("Click and Drag an object to move it", null, null, brush); 72 VisualTextObject textObj2 = new VisualTextObject("(You can even move this text!)", null, null, brush); 73 74 AffineTransform transform = textObj1.getTransform(); 76 transform.scale(2.0, 2.0); 77 transform.translate(15, 120); 78 textObj1.setTransform(transform); 79 80 transform = textObj2.getTransform(); 81 transform.scale(2.0, 2.0); 82 transform.translate(100, 180); 83 textObj2.setTransform(transform); 84 85 vvDisplay.addObject(rectangle1); 87 vvDisplay.addObject(rectangle2); 88 vvDisplay.addObject(rectangle3); 89 vvDisplay.addObject(textObj1); 90 vvDisplay.addObject(textObj2); 91 92 VVMouseDragListener listener = new VVMouseDragListener(vvDisplay); 94 vvDisplay.addVVMouseListener(listener); 95 96 listener.setViewportDraggable(false); 98 99 listener.setObjectDraggable(rectangle1, true); 101 listener.setObjectDraggable(rectangle2, true); 102 listener.setObjectDraggable(rectangle3, true); 103 listener.setObjectDraggable(textObj2, true); 104 105 } 106 107 112 public static void main(final String [] args) { 113 Runnable example = new ObjectDragging(); 114 example.run(); 115 } 116 117 } 118 | Popular Tags |