KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > thoughtriver > open > vectorvisuals > example > meta > Connectors


1 /*
2  * Connectors.java
3  *
4  * Created on 5 August 2004, 15:58
5  */

6
7 package com.thoughtriver.open.vectorvisuals.example.meta;
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.meta.connector.*;
16
17 /**
18  * This small application illustrates how to create a Vector Visuals drawing
19  * area (a <CODE>VVPanel</CODE>) and connect objects using a <CODE>VisualConnectorObject</CODE>.
20  *
21  * @author Brandon Franklin
22  * @version $Date: 2006/11/25 09:23:21 $
23  */

24 public class Connectors implements Runnable JavaDoc {
25
26     /** The <CODE>VVDisplay</CODE> used to display the test */
27     private VVDisplay vvDisplay = null;
28
29     /**
30      * Creates a new instance of <CODE>Connectors</CODE>.
31      */

32     public Connectors() {
33         vvDisplay = new VVDisplay(new VVPanel());
34     }
35
36     /**
37      * Starts the example.
38      */

39     public void run() {
40         JFrame frame = new JFrame("Vector Visuals Connector Example");
41         frame.setSize(640, 480);
42         frame.getContentPane().setLayout(new BorderLayout());
43         frame.getContentPane().add(vvDisplay.getViewPane(), BorderLayout.CENTER);
44         frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
45
46         frame.setVisible(true);
47
48         // Set up the panel itself
49
vvDisplay.getViewPane().setBackground(Color.DARK_GRAY);
50         vvDisplay.setWorldViewTranslation(160, 100);
51         vvDisplay.setWorldViewScale(2.0);
52
53         // Create a pair of objects to connect
54
VisualObject rect1 = new VisualObject(new RoundRectangle2D.Double(50, 50, 25, 25, 5, 5), new Brush(Color.BLACK, null, null), new Brush(Color.BLUE, null, null));
55
56         VisualObject rect2 = new VisualObject(new RoundRectangle2D.Double(250, 150, 25, 25, 5, 5), new Brush(Color.BLACK, null, null), new Brush(Color.RED, null, null));
57
58         vvDisplay.addObject(rect1);
59         vvDisplay.addObject(rect2);
60
61         // Build the connector
62
Font connectorFont = new Font("SansSerif", Font.PLAIN, 10);
63         Brush connectorTextBrush = new Brush(Color.YELLOW, null, null);
64
65         EndpointConfiguration config1 = new EndpointConfiguration(ArrowTipFactory.getAngularArrowTip(), rect1, true);
66         EndpointConfiguration config2 = new EndpointConfiguration(ArrowTipFactory.getAngularArrowTip(), rect2, true);
67         VisualConnectorObject conn2 = new VisualConnectorObject(new Brush(Color.WHITE, null, null), config1, config2);
68         conn2.setLabel("Edge to Edge", connectorFont, connectorTextBrush);
69
70         vvDisplay.addObject(conn2);
71
72     }
73
74     /**
75      * Instantiates a <CODE>Connectors</CODE> and executes it.
76      *
77      * @param args the command line arguments, ignored here
78      */

79     public static void main(final String JavaDoc[] args) {
80         Runnable JavaDoc example = new Connectors();
81         example.run();
82     }
83
84 }
85
Popular Tags