/* * @(#)Append.java 1.13 98/06/29 * * Copyright 1998 by Sun Microsystems, Inc., * 901 San Antonio Road, Palo Alto, California, 94303, U.S.A. * All rights reserved. * * This software is the confidential and proprietary information * of Sun Microsystems, Inc. ("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 Sun. */ package demos.Paths; import java.awt.*; import java.awt.event.*; import java.awt.geom.GeneralPath; import java.awt.geom.AffineTransform; import java.awt.geom.Rectangle2D; import J2DCanvas; /** * Simple append of rectangle to path with & without the connect. */ public class Append extends J2DCanvas { public Append() { setBackground(Color.white); } public void drawDemo(Graphics2D g2) { g2.translate(w/4, h/4); GeneralPath p = new GeneralPath(GeneralPath.WIND_NON_ZERO); p.moveTo(0.0f, 0.0f); p.lineTo(w-w/4*2,0.0f); p.closePath(); p.append(new Rectangle2D.Float(w/8, h/16, w/8, h/8), false); g2.setColor(Color.gray); g2.fill(p); g2.setColor(Color.black); g2.draw(p); g2.drawString("Append rect to path", 0, -10); g2.translate(0.0f, h/3); p.reset(); p.moveTo(0.0f, 0.0f); p.lineTo(w-w/4*2,0.0f); p.closePath(); g2.drawString("Append, connect", 0, -10); p.append(new Rectangle2D.Float(w/8,h/16, w/8, h/8), true); g2.setColor(java.awt.Color.gray); g2.fill(p); g2.setColor(java.awt.Color.black); g2.draw(p); g2.setTransform(new AffineTransform()); } public static void main(String s[]) { WindowListener l = new WindowAdapter() { public void windowClosing(WindowEvent e) {System.exit(0);} }; Frame f = new Frame("Java2D Demo - Append"); f.addWindowListener(l); f.add("Center", new Append()); f.pack(); f.setSize(new Dimension(400,300)); f.show(); } }