Shape.getPathIterator(AffineTransform at) has the following syntax.
PathIterator getPathIterator(AffineTransform at)
In the following code shows how to use Shape.getPathIterator(AffineTransform at) method.
import java.awt.Shape; import java.awt.geom.PathIterator; import java.awt.geom.Rectangle2D; // www. jav a 2s .c o m public class Main { public static void main(String[] args) throws Exception { Shape s = new Rectangle2D.Double(0, 0, 72, 72); PathIterator pi = s.getPathIterator(null); while (pi.isDone() == false) { describeCurrentSegment(pi); pi.next(); } } public static void describeCurrentSegment(PathIterator pi) { double[] coordinates = new double[6]; int type = pi.currentSegment(coordinates); switch (type) { case PathIterator.SEG_MOVETO: System.out.println("move to " + coordinates[0] + ", " + coordinates[1]); break; case PathIterator.SEG_LINETO: System.out.println("line to " + coordinates[0] + ", " + coordinates[1]); break; case PathIterator.SEG_QUADTO: System.out.println("quadratic to " + coordinates[0] + ", " + coordinates[1] + ", " + coordinates[2] + ", " + coordinates[3]); break; case PathIterator.SEG_CUBICTO: System.out.println("cubic to " + coordinates[0] + ", " + coordinates[1] + ", " + coordinates[2] + ", " + coordinates[3] + ", " + coordinates[4] + ", " + coordinates[5]); break; case PathIterator.SEG_CLOSE: System.out.println("close"); break; default: break; } } }
The code above generates the following result.