/*
* @(#)ConnectingFiguresSample.java 1.0 November 16, 2006
*
* Copyright (c) 1996-2006 by the original authors of JHotDraw
* and all its contributors ("JHotDraw.org")
* All rights reserved.
*
* This software is the confidential and proprietary information of
* JHotDraw.org ("Confidential Information"). You shall not disclose
* such Confidential Information and shall use it only in accordance
* with the terms of the license agreement you entered into with
* JHotDraw.org.
*/
package org.jhotdraw.samples.mini;
import java.awt.*;
import javax.swing.*;
import org.jhotdraw.application.DrawApplication;
import org.jhotdraw.contrib.*;
import org.jhotdraw.figures.*;
import org.jhotdraw.framework.*;
import org.jhotdraw.standard.*;
import org.jhotdraw.util.*;
/**
* Example showing how to connect two text areas with an elbow connection.
* This example uses JHotDraw 6.
*
* @author Werner Randelshofer
* @version 1.0 November 16, 2006 Created.
*/
public class ConnectingFiguresSample {
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
// Create the two text areas
TextAreaFigure ta = new TextAreaFigure();
ta.displayBox(new Point(10,10),new Point(100,100));
TextAreaFigure tb = new TextAreaFigure();
tb.displayBox(new Point(210,110),new Point(300,200));
// Create an elbow connection
ConnectionFigure cf = new ElbowConnection();
// Connect the figures
Point startPoint = Geom.center(ta.displayBox());
cf.startPoint(startPoint.x, startPoint.y);
cf.connectStart(ta.connectorAt(startPoint.x, startPoint.y));
Point endPoint = Geom.center(tb.displayBox());
cf.endPoint(endPoint.x, endPoint.y);
cf.connectEnd(tb.connectorAt(endPoint.x, endPoint.y));
cf.updateConnection();
// Add all figures to a drawing
Drawing drawing = new StandardDrawing();
drawing.add(ta);
drawing.add(tb);
drawing.add(cf);
// Show the drawing
JFrame f = new JFrame("My Drawing");
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setSize(400,300);
DrawApplication editor = new DrawApplication("Connecting Figures Sample");
editor.open();
DrawingView view = editor.view();
view.setDrawing(drawing);
}
});
}
}