/* * @(#)EditorSample.java * * Copyright (c) 1996-2010 The authors and contributors of JHotDraw. * You may not use, copy or modify this file, except in compliance with the * accompanying license terms. */ package org.jhotdraw.samples.mini; import org.jhotdraw.geom.Geom; import org.jhotdraw.draw.tool.DelegationSelectionTool; import org.jhotdraw.draw.liner.ElbowLiner; import java.awt.geom.*; import javax.swing.*; import org.jhotdraw.draw.*; /** * Example showing how to create an editor that can edit figures on a drawing * using the DelegationSelectionTool. * * @author Werner Randelshofer * @version $Id$ */ public class EditorSample { public static void main(String[] args) { SwingUtilities.invokeLater(new Runnable() { @Override public void run() { // Create a simple drawing consisting of three // text areas and an elbow connection. TextAreaFigure ta = new TextAreaFigure(); ta.setBounds(new Point2D.Double(10, 10), new Point2D.Double(100, 100)); TextAreaFigure tb = new TextAreaFigure(); tb.setBounds(new Point2D.Double(220, 120), new Point2D.Double(310, 210)); TextAreaFigure tc = new TextAreaFigure(); tc.setBounds(new Point2D.Double(220, 10), new Point2D.Double(310, 100)); ConnectionFigure cf = new LineConnectionFigure(); cf.setLiner(new ElbowLiner()); cf.setStartConnector(ta.findConnector(Geom.center(ta.getBounds()), cf)); cf.setEndConnector(tb.findConnector(Geom.center(tb.getBounds()), cf)); Drawing drawing = new DefaultDrawing(); drawing.add(ta); drawing.add(tb); drawing.add(tc); drawing.add(cf); // Create a frame with a drawing view and a drawing editor JFrame f = new JFrame("My Drawing"); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); f.setSize(400, 300); DrawingView view = new DefaultDrawingView(); view.setDrawing(drawing); f.getContentPane().add(view.getComponent()); DrawingEditor editor = new DefaultDrawingEditor(); editor.add(view); editor.setTool(new DelegationSelectionTool()); f.setVisible(true); } }); } }