/* * @(#)FillStroke.java 1.14 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.font.TextLayout; import java.awt.geom.AffineTransform; import java.awt.geom.GeneralPath; import J2DCanvas; /** * Basic implementation of GeneralPath, filling & drawing a path w/o closing it. */ public class FillStroke extends J2DCanvas { public FillStroke() { setBackground(Color.white); } public void drawDemo(Graphics2D g2) { g2.translate(w/2, h/2-10); GeneralPath p = new GeneralPath(GeneralPath.WIND_EVEN_ODD); p.moveTo(0.0f, - h / 3.5f); p.lineTo(+ w / 3.0f, + h / 3.5f); p.lineTo(- w / 3.0f, + h / 3.5f); g2.setColor(Color.lightGray); g2.fill(p); g2.setColor(Color.black); g2.setStroke(new BasicStroke(10.0f)); g2.draw(p); TextLayout tl = new TextLayout("Fill, Stroke", font, g2.getFontRenderContext()); tl.draw(g2, (float) -tl.getBounds().getWidth()/2, (float) (h-h/6)-(h/2-10)); 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 - FillStroke"); f.addWindowListener(l); f.add("Center", new FillStroke()); f.pack(); f.setSize(new Dimension(400,300)); f.show(); } }