<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://www.jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java_Tutorial%2F2D_Graphics%2FRectangle</id>
		<title>Java Tutorial/2D Graphics/Rectangle - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://www.jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java_Tutorial%2F2D_Graphics%2FRectangle"/>
		<link rel="alternate" type="text/html" href="http://www.jexp.ru/index.php?title=Java_Tutorial/2D_Graphics/Rectangle&amp;action=history"/>
		<updated>2026-04-23T02:41:35Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://www.jexp.ru/index.php?title=Java_Tutorial/2D_Graphics/Rectangle&amp;diff=3496&amp;oldid=prev</id>
		<title> в 17:44, 31 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://www.jexp.ru/index.php?title=Java_Tutorial/2D_Graphics/Rectangle&amp;diff=3496&amp;oldid=prev"/>
				<updated>2010-05-31T17:44:26Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 17:44, 31 мая 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
			</entry>

	<entry>
		<id>http://www.jexp.ru/index.php?title=Java_Tutorial/2D_Graphics/Rectangle&amp;diff=3497&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://www.jexp.ru/index.php?title=Java_Tutorial/2D_Graphics/Rectangle&amp;diff=3497&amp;oldid=prev"/>
				<updated>2010-05-31T15:25:11Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==  Checks, whether the given rectangle1 fully contains rectangle 2 (even if rectangle 2 has a height or width of zero!). ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
/* &lt;br /&gt;
 * JCommon : a free general purpose class library for the Java(tm) platform&lt;br /&gt;
 * &lt;br /&gt;
 *&lt;br /&gt;
 * (C) Copyright 2000-2008, by Object Refinery Limited and Contributors.&lt;br /&gt;
 *&lt;br /&gt;
 * Project Info:  http://www.jfree.org/jcommon/index.html&lt;br /&gt;
 *&lt;br /&gt;
 * This library is free software; you can redistribute it and/or modify it&lt;br /&gt;
 * under the terms of the GNU Lesser General Public License as published by&lt;br /&gt;
 * the Free Software Foundation; either version 2.1 of the License, or&lt;br /&gt;
 * (at your option) any later version.&lt;br /&gt;
 *&lt;br /&gt;
 * This library is distributed in the hope that it will be useful, but&lt;br /&gt;
 * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY&lt;br /&gt;
 * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public&lt;br /&gt;
 * License for more details.&lt;br /&gt;
 *&lt;br /&gt;
 * You should have received a copy of the GNU Lesser General Public&lt;br /&gt;
 * License along with this library; if not, write to the Free Software&lt;br /&gt;
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301,&lt;br /&gt;
 * USA.&lt;br /&gt;
 *&lt;br /&gt;
 * [Java is a trademark or registered trademark of Sun Microsystems, Inc.&lt;br /&gt;
 * in the United States and other countries.]&lt;br /&gt;
 *&lt;br /&gt;
 * -------------------&lt;br /&gt;
 * ShapeUtilities.java&lt;br /&gt;
 * -------------------&lt;br /&gt;
 * (C)opyright 2003-2008, by Object Refinery Limited and Contributors.&lt;br /&gt;
 *&lt;br /&gt;
 * Original Author:  David Gilbert (for Object Refinery Limited);&lt;br /&gt;
 * Contributor(s):   -;&lt;br /&gt;
 *&lt;br /&gt;
 * $Id: ShapeUtilities.java,v 1.18 2008/06/02 06:58:28 mungady Exp $&lt;br /&gt;
 *&lt;br /&gt;
 * Changes&lt;br /&gt;
 * -------&lt;br /&gt;
 * 13-Aug-2003 : Version 1 (DG);&lt;br /&gt;
 * 16-Mar-2004 : Moved rotateShape() from RefineryUtilities.java to here (DG);&lt;br /&gt;
 * 13-May-2004 : Added new shape creation methods (DG);&lt;br /&gt;
 * 30-Sep-2004 : Added createLineRegion() method (DG);&lt;br /&gt;
 *               Moved drawRotatedShape() method from RefineryUtilities class&lt;br /&gt;
 *               to this class (DG);&lt;br /&gt;
 * 04-Oct-2004 : Renamed ShapeUtils --&amp;gt; ShapeUtilities (DG);&lt;br /&gt;
 * 26-Oct-2004 : Added a method to test the equality of two Line2D&lt;br /&gt;
 *               instances (DG);&lt;br /&gt;
 * 10-Nov-2004 : Added new translateShape() and equal(Ellipse2D, Ellipse2D)&lt;br /&gt;
 *               methods (DG);&lt;br /&gt;
 * 11-Nov-2004 : Renamed translateShape() --&amp;gt; createTranslatedShape() (DG);&lt;br /&gt;
 * 07-Jan-2005 : Minor Javadoc fix (DG);&lt;br /&gt;
 * 11-Jan-2005 : Removed deprecated code in preparation for 1.0.0 release (DG);&lt;br /&gt;
 * 21-Jan-2005 : Modified return type of RectangleAnchor.coordinates()&lt;br /&gt;
 *               method (DG);&lt;br /&gt;
 * 22-Feb-2005 : Added equality tests for Arc2D and GeneralPath (DG);&lt;br /&gt;
 * 16-Mar-2005 : Fixed bug where equal(Shape, Shape) fails for two Polygon&lt;br /&gt;
 *               instances (DG);&lt;br /&gt;
 * 01-Jun-2008 : Fixed bug in equal(GeneralPath, GeneralPath) method (DG);&lt;br /&gt;
 *&lt;br /&gt;
 */&lt;br /&gt;
import java.awt.Shape;&lt;br /&gt;
import java.awt.geom.Point2D;&lt;br /&gt;
import java.awt.geom.Rectangle2D;&lt;br /&gt;
/**&lt;br /&gt;
 * Utility methods for {@link Shape} objects.&lt;br /&gt;
 *&lt;br /&gt;
 * @author David Gilbert&lt;br /&gt;
 */&lt;br /&gt;
public class Main {&lt;br /&gt;
&lt;br /&gt;
  /**&lt;br /&gt;
   * Checks, whether the given rectangle1 fully contains rectangle 2&lt;br /&gt;
   * (even if rectangle 2 has a height or width of zero!).&lt;br /&gt;
   *&lt;br /&gt;
   * @param rect1  the first rectangle.&lt;br /&gt;
   * @param rect2  the second rectangle.&lt;br /&gt;
   *&lt;br /&gt;
   * @return A boolean.&lt;br /&gt;
   */&lt;br /&gt;
  public static boolean contains(final Rectangle2D rect1,&lt;br /&gt;
                                 final Rectangle2D rect2) {&lt;br /&gt;
      final double x0 = rect1.getX();&lt;br /&gt;
      final double y0 = rect1.getY();&lt;br /&gt;
      final double x = rect2.getX();&lt;br /&gt;
      final double y = rect2.getY();&lt;br /&gt;
      final double w = rect2.getWidth();&lt;br /&gt;
      final double h = rect2.getHeight();&lt;br /&gt;
      return ((x &amp;gt;= x0) &amp;amp;&amp;amp; (y &amp;gt;= y0)&lt;br /&gt;
              &amp;amp;&amp;amp; ((x + w) &amp;lt;= (x0 + rect1.getWidth()))&lt;br /&gt;
              &amp;amp;&amp;amp; ((y + h) &amp;lt;= (y0 + rect1.getHeight())));&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Clips the specified line to the given rectangle. ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
/* &lt;br /&gt;
 * JFreeChart : a free chart library for the Java(tm) platform&lt;br /&gt;
 * &lt;br /&gt;
 *&lt;br /&gt;
 * (C) Copyright 2000-2008, by Object Refinery Limited and Contributors.&lt;br /&gt;
 *&lt;br /&gt;
 * Project Info:  http://www.jfree.org/jfreechart/index.html&lt;br /&gt;
 *&lt;br /&gt;
 * This library is free software; you can redistribute it and/or modify it&lt;br /&gt;
 * under the terms of the GNU Lesser General Public License as published by&lt;br /&gt;
 * the Free Software Foundation; either version 2.1 of the License, or&lt;br /&gt;
 * (at your option) any later version.&lt;br /&gt;
 *&lt;br /&gt;
 * This library is distributed in the hope that it will be useful, but&lt;br /&gt;
 * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY&lt;br /&gt;
 * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public&lt;br /&gt;
 * License for more details.&lt;br /&gt;
 *&lt;br /&gt;
 * You should have received a copy of the GNU Lesser General Public&lt;br /&gt;
 * License along with this library; if not, write to the Free Software&lt;br /&gt;
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301,&lt;br /&gt;
 * USA.&lt;br /&gt;
 *&lt;br /&gt;
 * [Java is a trademark or registered trademark of Sun Microsystems, Inc.&lt;br /&gt;
 * in the United States and other countries.]&lt;br /&gt;
 *&lt;br /&gt;
 * ------------------&lt;br /&gt;
 * LineUtilities.java&lt;br /&gt;
 * ------------------&lt;br /&gt;
 * (C) Copyright 2008, by Object Refinery Limited and Contributors.&lt;br /&gt;
 *&lt;br /&gt;
 * Original Author:  David Gilbert (for Object Refinery Limited);&lt;br /&gt;
 * Contributor(s):   -;&lt;br /&gt;
 *&lt;br /&gt;
 * Changes&lt;br /&gt;
 * -------&lt;br /&gt;
 * 05-Nov-2008 : Version 1 (DG);&lt;br /&gt;
 *&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
import java.awt.geom.Line2D;&lt;br /&gt;
import java.awt.geom.Rectangle2D;&lt;br /&gt;
/**&lt;br /&gt;
 * Some utility methods for {@link Line2D} objects.&lt;br /&gt;
 *&lt;br /&gt;
 * @since 1.0.12&lt;br /&gt;
 */&lt;br /&gt;
public class LineUtilities {&lt;br /&gt;
    /**&lt;br /&gt;
     * Clips the specified line to the given rectangle.&lt;br /&gt;
     *&lt;br /&gt;
     * @param line  the line (&amp;lt;code&amp;gt;null&amp;lt;/code&amp;gt; not permitted).&lt;br /&gt;
     * @param rect  the clipping rectangle (&amp;lt;code&amp;gt;null&amp;lt;/code&amp;gt; not permitted).&lt;br /&gt;
     *&lt;br /&gt;
     * @return &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; if the clipped line is visible, and&lt;br /&gt;
     *     &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt; otherwise.&lt;br /&gt;
     */&lt;br /&gt;
    public static boolean clipLine(Line2D line, Rectangle2D rect) {&lt;br /&gt;
        double x1 = line.getX1();&lt;br /&gt;
        double y1 = line.getY1();&lt;br /&gt;
        double x2 = line.getX2();&lt;br /&gt;
        double y2 = line.getY2();&lt;br /&gt;
        double minX = rect.getMinX();&lt;br /&gt;
        double maxX = rect.getMaxX();&lt;br /&gt;
        double minY = rect.getMinY();&lt;br /&gt;
        double maxY = rect.getMaxY();&lt;br /&gt;
        int f1 = rect.outcode(x1, y1);&lt;br /&gt;
        int f2 = rect.outcode(x2, y2);&lt;br /&gt;
        while ((f1 | f2) != 0) {&lt;br /&gt;
            if ((f1 &amp;amp; f2) != 0) {&lt;br /&gt;
                return false;&lt;br /&gt;
            }&lt;br /&gt;
            double dx = (x2 - x1);&lt;br /&gt;
            double dy = (y2 - y1);&lt;br /&gt;
            // update (x1, y1), (x2, y2) and f1 and f2 using intersections&lt;br /&gt;
            // then recheck&lt;br /&gt;
            if (f1 != 0) {&lt;br /&gt;
                // first point is outside, so we update it against one of the&lt;br /&gt;
                // four sides then continue&lt;br /&gt;
                if ((f1 &amp;amp; Rectangle2D.OUT_LEFT) == Rectangle2D.OUT_LEFT&lt;br /&gt;
                        &amp;amp;&amp;amp; dx != 0.0) {&lt;br /&gt;
                    y1 = y1 + (minX - x1) * dy / dx;&lt;br /&gt;
                    x1 = minX;&lt;br /&gt;
                }&lt;br /&gt;
                else if ((f1 &amp;amp; Rectangle2D.OUT_RIGHT) == Rectangle2D.OUT_RIGHT&lt;br /&gt;
                        &amp;amp;&amp;amp; dx != 0.0) {&lt;br /&gt;
                    y1 = y1 + (maxX - x1) * dy / dx;&lt;br /&gt;
                    x1 = maxX;&lt;br /&gt;
                }&lt;br /&gt;
                else if ((f1 &amp;amp; Rectangle2D.OUT_BOTTOM) == Rectangle2D.OUT_BOTTOM&lt;br /&gt;
                        &amp;amp;&amp;amp; dy != 0.0) {&lt;br /&gt;
                    x1 = x1 + (maxY - y1) * dx / dy;&lt;br /&gt;
                    y1 = maxY;&lt;br /&gt;
                }&lt;br /&gt;
                else if ((f1 &amp;amp; Rectangle2D.OUT_TOP) == Rectangle2D.OUT_TOP&lt;br /&gt;
                        &amp;amp;&amp;amp; dy != 0.0) {&lt;br /&gt;
                    x1 = x1 + (minY - y1) * dx / dy;&lt;br /&gt;
                    y1 = minY;&lt;br /&gt;
                }&lt;br /&gt;
                f1 = rect.outcode(x1, y1);&lt;br /&gt;
            }&lt;br /&gt;
            else if (f2 != 0) {&lt;br /&gt;
                // second point is outside, so we update it against one of the&lt;br /&gt;
                // four sides then continue&lt;br /&gt;
                if ((f2 &amp;amp; Rectangle2D.OUT_LEFT) == Rectangle2D.OUT_LEFT&lt;br /&gt;
                        &amp;amp;&amp;amp; dx != 0.0) {&lt;br /&gt;
                    y2 = y2 + (minX - x2) * dy / dx;&lt;br /&gt;
                    x2 = minX;&lt;br /&gt;
                }&lt;br /&gt;
                else if ((f2 &amp;amp; Rectangle2D.OUT_RIGHT) == Rectangle2D.OUT_RIGHT&lt;br /&gt;
                        &amp;amp;&amp;amp; dx != 0.0) {&lt;br /&gt;
                    y2 = y2 + (maxX - x2) * dy / dx;&lt;br /&gt;
                    x2 = maxX;&lt;br /&gt;
                }&lt;br /&gt;
                else if ((f2 &amp;amp; Rectangle2D.OUT_BOTTOM) == Rectangle2D.OUT_BOTTOM&lt;br /&gt;
                        &amp;amp;&amp;amp; dy != 0.0) {&lt;br /&gt;
                    x2 = x2 + (maxY - y2) * dx / dy;&lt;br /&gt;
                    y2 = maxY;&lt;br /&gt;
                }&lt;br /&gt;
                else if ((f2 &amp;amp; Rectangle2D.OUT_TOP) == Rectangle2D.OUT_TOP&lt;br /&gt;
                        &amp;amp;&amp;amp; dy != 0.0) {&lt;br /&gt;
                    x2 = x2 + (minY - y2) * dx / dy;&lt;br /&gt;
                    y2 = minY;&lt;br /&gt;
                }&lt;br /&gt;
                f2 = rect.outcode(x2, y2);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
        line.setLine(x1, y1, x2, y2);&lt;br /&gt;
        return true;  // the line is visible - if it wasn&amp;quot;t, we&amp;quot;d have&lt;br /&gt;
                      // returned false from within the while loop above&lt;br /&gt;
    }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Draw a three-dimensional rectangle outline ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.awt.Color;&lt;br /&gt;
import java.awt.Graphics;&lt;br /&gt;
import javax.swing.JFrame;&lt;br /&gt;
import javax.swing.JPanel;&lt;br /&gt;
public class MainClass extends JPanel {&lt;br /&gt;
  public static void main(String[] a) {&lt;br /&gt;
    JFrame f = new JFrame();&lt;br /&gt;
    f.setSize(400, 400);&lt;br /&gt;
    f.add(new MainClass());&lt;br /&gt;
    f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);&lt;br /&gt;
    f.setVisible(true);&lt;br /&gt;
  }&lt;br /&gt;
  public void paint(Graphics g) {&lt;br /&gt;
    g.setColor (Color.yellow);  &lt;br /&gt;
    g.draw3DRect (5, 15, 50, 75, false); &lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Draw Rectangle ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.awt.Graphics;&lt;br /&gt;
import javax.swing.JComponent;&lt;br /&gt;
import javax.swing.JFrame;&lt;br /&gt;
class MyCanvas extends JComponent {&lt;br /&gt;
  public void paint(Graphics g) {&lt;br /&gt;
    g.drawRect (10, 10, 200, 200);  &lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
public class DrawRect {&lt;br /&gt;
  public static void main(String[] a) {&lt;br /&gt;
    JFrame window = new JFrame();&lt;br /&gt;
    window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);&lt;br /&gt;
    window.setBounds(30, 30, 300, 300);&lt;br /&gt;
    window.getContentPane().add(new MyCanvas());&lt;br /&gt;
    window.setVisible(true);&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Draw Rectangle with Rectangle2D.Float ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.awt.Frame;&lt;br /&gt;
import java.awt.Graphics;&lt;br /&gt;
import java.awt.Graphics2D;&lt;br /&gt;
import java.awt.geom.Rectangle2D;&lt;br /&gt;
public class MainClass extends Frame {&lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
    (new MainClass()).setVisible(true);&lt;br /&gt;
  }&lt;br /&gt;
  public MainClass() {&lt;br /&gt;
    setSize(150, 150);&lt;br /&gt;
  }&lt;br /&gt;
  public void paint(Graphics g) {&lt;br /&gt;
    Graphics2D g2d = (Graphics2D) g;&lt;br /&gt;
    Rectangle2D r2d = new Rectangle2D.Float(10f, 10f, 130f, 130f);&lt;br /&gt;
    g2d.draw(r2d);&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  drawRect (int, int, int, int) to draw a rectangle outline ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.awt.Graphics;&lt;br /&gt;
import javax.swing.JFrame;&lt;br /&gt;
import javax.swing.JPanel;&lt;br /&gt;
public class MainClass extends JPanel {&lt;br /&gt;
  public static void main(String[] a) {&lt;br /&gt;
    JFrame f = new JFrame();&lt;br /&gt;
    f.setSize(400, 400);&lt;br /&gt;
    f.add(new MainClass());&lt;br /&gt;
    f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);&lt;br /&gt;
    f.setVisible(true);&lt;br /&gt;
  }&lt;br /&gt;
  public void paint(Graphics g) {&lt;br /&gt;
    g.drawRect (5, 15, 50, 75); &lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Draw RoundRectangle2D.Float ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.awt.Frame;&lt;br /&gt;
import java.awt.Graphics;&lt;br /&gt;
import java.awt.Graphics2D;&lt;br /&gt;
import java.awt.geom.RoundRectangle2D;&lt;br /&gt;
public class MainClass extends Frame {&lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
    (new MainClass()).setVisible(true);&lt;br /&gt;
  }&lt;br /&gt;
  public MainClass() {&lt;br /&gt;
    super(&amp;quot;Shape Sampler&amp;quot;);&lt;br /&gt;
    setSize(400, 550);&lt;br /&gt;
  }&lt;br /&gt;
  public void paint(Graphics g) {&lt;br /&gt;
    RoundRectangle2D rrect;&lt;br /&gt;
    Graphics2D g2d = (Graphics2D) g;&lt;br /&gt;
    rrect = new RoundRectangle2D.Float(50, 50, 100, 200, 30, 20);&lt;br /&gt;
    g2d.draw(rrect);&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  drawRoundRect (int, int, int, int, int, int) to draw a rounded rectangle outline ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.awt.Graphics;&lt;br /&gt;
import javax.swing.JFrame;&lt;br /&gt;
import javax.swing.JPanel;&lt;br /&gt;
public class MainClass extends JPanel {&lt;br /&gt;
  public static void main(String[] a) {&lt;br /&gt;
    JFrame f = new JFrame();&lt;br /&gt;
    f.setSize(400, 400);&lt;br /&gt;
    f.add(new MainClass());&lt;br /&gt;
    f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);&lt;br /&gt;
    f.setVisible(true);&lt;br /&gt;
  }&lt;br /&gt;
  public void paint(Graphics g) {&lt;br /&gt;
    g.drawRoundRect (5, 15, 50, 75, 20, 15);  &lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Fill 3D Rectangle ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.awt.Color;&lt;br /&gt;
import java.awt.Graphics;&lt;br /&gt;
import javax.swing.JComponent;&lt;br /&gt;
import javax.swing.JFrame;&lt;br /&gt;
class MyCanvas extends JComponent {&lt;br /&gt;
  public void paint(Graphics g) {&lt;br /&gt;
    g.setColor(Color.RED);&lt;br /&gt;
    g.fill3DRect(20, 20, 200, 200,true);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
public class Fill3DRect {&lt;br /&gt;
  public static void main(String[] a) {&lt;br /&gt;
    JFrame window = new JFrame();&lt;br /&gt;
    window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);&lt;br /&gt;
    window.setBounds(30, 30, 300, 300);&lt;br /&gt;
    window.getContentPane().add(new MyCanvas());&lt;br /&gt;
    window.setVisible(true);&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Grow a rectangle ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
// This example is from the book _Java AWT Reference_ by John Zukowski.&lt;br /&gt;
// Written by John Zukowski.  Copyright (c) 1997 O&amp;quot;Reilly &amp;amp; Associates.&lt;br /&gt;
// You may study, use, modify, and distribute this example for any purpose.&lt;br /&gt;
// This example is provided WITHOUT WARRANTY either expressed or&lt;br /&gt;
import java.awt.Rectangle;&lt;br /&gt;
public class rect {&lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
    Rectangle r = new Rectangle(100, 100, 200, 200);&lt;br /&gt;
    System.out.println(r);&lt;br /&gt;
    r.grow(50, 75);&lt;br /&gt;
    System.out.println(r);&lt;br /&gt;
    r.grow(-25, -50);&lt;br /&gt;
    System.out.println(r);&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  How do I...Fill shapes? ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.awt.Graphics;&lt;br /&gt;
import javax.swing.JComponent;&lt;br /&gt;
import javax.swing.JFrame;&lt;br /&gt;
class MyCanvas extends JComponent {&lt;br /&gt;
  public void paint(Graphics g) {&lt;br /&gt;
    g.fillRect(20, 20, 200, 200);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
public class FillRect {&lt;br /&gt;
  public static void main(String[] a) {&lt;br /&gt;
    JFrame window = new JFrame();&lt;br /&gt;
    window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);&lt;br /&gt;
    window.setBounds(30, 30, 300, 300);&lt;br /&gt;
    window.getContentPane().add(new MyCanvas());&lt;br /&gt;
    window.setVisible(true);&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Intersection between rectangles ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
// This example is from the book _Java AWT Reference_ by John Zukowski.&lt;br /&gt;
// Written by John Zukowski.  Copyright (c) 1997 O&amp;quot;Reilly &amp;amp; Associates.&lt;br /&gt;
// You may study, use, modify, and distribute this example for any purpose.&lt;br /&gt;
// This example is provided WITHOUT WARRANTY either expressed or&lt;br /&gt;
import java.awt.Graphics;&lt;br /&gt;
import java.awt.Rectangle;&lt;br /&gt;
import javax.swing.JFrame;&lt;br /&gt;
public class intersection extends JFrame {&lt;br /&gt;
  Rectangle r = new Rectangle(50, 50, 100, 100);&lt;br /&gt;
  Rectangle r1 = new Rectangle(100, 100, 75, 75);&lt;br /&gt;
  intersection() {&lt;br /&gt;
    super(&amp;quot;Intersection&amp;quot;);&lt;br /&gt;
    setSize(250, 250);&lt;br /&gt;
  }&lt;br /&gt;
  public void paint(Graphics g) {&lt;br /&gt;
    g.drawRect(r.x, r.y, r.width, r.height);&lt;br /&gt;
    g.drawRect(r1.x, r1.y, r1.width, r1.height);&lt;br /&gt;
    Rectangle r2 = r.intersection(r1);&lt;br /&gt;
    System.out.println(r2);&lt;br /&gt;
    g.fillRect(r2.x, r2.y, r2.width, r2.height);&lt;br /&gt;
  }&lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
    JFrame f = new intersection();&lt;br /&gt;
    f.setVisible(true);&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  java.awt.Rectangle ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;OL&amp;gt;&amp;lt;LI&amp;gt;A Rectange object specifics a rectangular area in the coordinate system.&amp;lt;/LI&amp;gt;&amp;lt;LI&amp;gt;Its x and y fields specify the top-left corner coordinate.&amp;lt;/LI&amp;gt;&amp;lt;LI&amp;gt;Its width and height fields specify the width and height of the rectangle, respectively.&amp;lt;/LI&amp;gt;&amp;lt;/OL&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Here are some of the constructors of the Rectangle class.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
public Rectangle ()&lt;br /&gt;
public Rectangle (Dimension d)&lt;br /&gt;
public Rectangle (int width, int height)&lt;br /&gt;
public Rectangle (int x, int y, int width, int height)&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;A zero value for a field is assumed if the field is missing from a constructor&amp;quot;s argument list.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Ractangle with rounded corners drawn using Java 2D Graphics API ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.awt.Graphics;&lt;br /&gt;
import java.awt.Graphics2D;&lt;br /&gt;
import java.awt.geom.RoundRectangle2D;&lt;br /&gt;
public class Main extends javax.swing.JFrame {&lt;br /&gt;
    &lt;br /&gt;
    public Main() {&lt;br /&gt;
      setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);&lt;br /&gt;
      setSize(600,600);&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    public void paint(Graphics g) {&lt;br /&gt;
        Graphics2D graphics2 = (Graphics2D) g;&lt;br /&gt;
        RoundRectangle2D roundedRectangle = new RoundRectangle2D.Float(100, 100, 240, 160, 10, 10);&lt;br /&gt;
        graphics2.draw(roundedRectangle);&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    public static void main(String args[]) {&lt;br /&gt;
        new Main().setVisible(true);&lt;br /&gt;
    }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Returns a point based on (x, y) but constrained to be within the bounds of a given rectangle. ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
/* &lt;br /&gt;
 * JCommon : a free general purpose class library for the Java(tm) platform&lt;br /&gt;
 * &lt;br /&gt;
 *&lt;br /&gt;
 * (C) Copyright 2000-2008, by Object Refinery Limited and Contributors.&lt;br /&gt;
 *&lt;br /&gt;
 * Project Info:  http://www.jfree.org/jcommon/index.html&lt;br /&gt;
 *&lt;br /&gt;
 * This library is free software; you can redistribute it and/or modify it&lt;br /&gt;
 * under the terms of the GNU Lesser General Public License as published by&lt;br /&gt;
 * the Free Software Foundation; either version 2.1 of the License, or&lt;br /&gt;
 * (at your option) any later version.&lt;br /&gt;
 *&lt;br /&gt;
 * This library is distributed in the hope that it will be useful, but&lt;br /&gt;
 * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY&lt;br /&gt;
 * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public&lt;br /&gt;
 * License for more details.&lt;br /&gt;
 *&lt;br /&gt;
 * You should have received a copy of the GNU Lesser General Public&lt;br /&gt;
 * License along with this library; if not, write to the Free Software&lt;br /&gt;
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301,&lt;br /&gt;
 * USA.&lt;br /&gt;
 *&lt;br /&gt;
 * [Java is a trademark or registered trademark of Sun Microsystems, Inc.&lt;br /&gt;
 * in the United States and other countries.]&lt;br /&gt;
 *&lt;br /&gt;
 * -------------------&lt;br /&gt;
 * ShapeUtilities.java&lt;br /&gt;
 * -------------------&lt;br /&gt;
 * (C)opyright 2003-2008, by Object Refinery Limited and Contributors.&lt;br /&gt;
 *&lt;br /&gt;
 * Original Author:  David Gilbert (for Object Refinery Limited);&lt;br /&gt;
 * Contributor(s):   -;&lt;br /&gt;
 *&lt;br /&gt;
 * $Id: ShapeUtilities.java,v 1.18 2008/06/02 06:58:28 mungady Exp $&lt;br /&gt;
 *&lt;br /&gt;
 * Changes&lt;br /&gt;
 * -------&lt;br /&gt;
 * 13-Aug-2003 : Version 1 (DG);&lt;br /&gt;
 * 16-Mar-2004 : Moved rotateShape() from RefineryUtilities.java to here (DG);&lt;br /&gt;
 * 13-May-2004 : Added new shape creation methods (DG);&lt;br /&gt;
 * 30-Sep-2004 : Added createLineRegion() method (DG);&lt;br /&gt;
 *               Moved drawRotatedShape() method from RefineryUtilities class&lt;br /&gt;
 *               to this class (DG);&lt;br /&gt;
 * 04-Oct-2004 : Renamed ShapeUtils --&amp;gt; ShapeUtilities (DG);&lt;br /&gt;
 * 26-Oct-2004 : Added a method to test the equality of two Line2D&lt;br /&gt;
 *               instances (DG);&lt;br /&gt;
 * 10-Nov-2004 : Added new translateShape() and equal(Ellipse2D, Ellipse2D)&lt;br /&gt;
 *               methods (DG);&lt;br /&gt;
 * 11-Nov-2004 : Renamed translateShape() --&amp;gt; createTranslatedShape() (DG);&lt;br /&gt;
 * 07-Jan-2005 : Minor Javadoc fix (DG);&lt;br /&gt;
 * 11-Jan-2005 : Removed deprecated code in preparation for 1.0.0 release (DG);&lt;br /&gt;
 * 21-Jan-2005 : Modified return type of RectangleAnchor.coordinates()&lt;br /&gt;
 *               method (DG);&lt;br /&gt;
 * 22-Feb-2005 : Added equality tests for Arc2D and GeneralPath (DG);&lt;br /&gt;
 * 16-Mar-2005 : Fixed bug where equal(Shape, Shape) fails for two Polygon&lt;br /&gt;
 *               instances (DG);&lt;br /&gt;
 * 01-Jun-2008 : Fixed bug in equal(GeneralPath, GeneralPath) method (DG);&lt;br /&gt;
 *&lt;br /&gt;
 */&lt;br /&gt;
import java.awt.Shape;&lt;br /&gt;
import java.awt.geom.Point2D;&lt;br /&gt;
import java.awt.geom.Rectangle2D;&lt;br /&gt;
/**&lt;br /&gt;
 * Utility methods for {@link Shape} objects.&lt;br /&gt;
 *&lt;br /&gt;
 * @author David Gilbert&lt;br /&gt;
 */&lt;br /&gt;
public class Main {&lt;br /&gt;
&lt;br /&gt;
  /**&lt;br /&gt;
   * Returns a point based on (x, y) but constrained to be within the bounds&lt;br /&gt;
   * of a given rectangle.&lt;br /&gt;
   *&lt;br /&gt;
   * @param x  the x-coordinate.&lt;br /&gt;
   * @param y  the y-coordinate.&lt;br /&gt;
   * @param area  the constraining rectangle (&amp;lt;code&amp;gt;null&amp;lt;/code&amp;gt; not&lt;br /&gt;
   *              permitted).&lt;br /&gt;
   *&lt;br /&gt;
   * @return A point within the rectangle.&lt;br /&gt;
   *&lt;br /&gt;
   * @throws NullPointerException if &amp;lt;code&amp;gt;area&amp;lt;/code&amp;gt; is &amp;lt;code&amp;gt;null&amp;lt;/code&amp;gt;.&lt;br /&gt;
   */&lt;br /&gt;
  public static Point2D getPointInRectangle(double x, double y,&lt;br /&gt;
                                            final Rectangle2D area) {&lt;br /&gt;
      x = Math.max(area.getMinX(), Math.min(x, area.getMaxX()));&lt;br /&gt;
      y = Math.max(area.getMinY(), Math.min(y, area.getMaxY()));&lt;br /&gt;
      return new Point2D.Double(x, y);&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Union two Rectangles ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
// This example is from the book _Java AWT Reference_ by John Zukowski.&lt;br /&gt;
// Written by John Zukowski.  Copyright (c) 1997 O&amp;quot;Reilly &amp;amp; Associates.&lt;br /&gt;
// You may study, use, modify, and distribute this example for any purpose.&lt;br /&gt;
// This example is provided WITHOUT WARRANTY either expressed or&lt;br /&gt;
import java.awt.Color;&lt;br /&gt;
import java.awt.Graphics;&lt;br /&gt;
import java.awt.Rectangle;&lt;br /&gt;
import javax.swing.JFrame;&lt;br /&gt;
public class union extends JFrame {&lt;br /&gt;
  Rectangle r = new Rectangle(50, 50, 100, 100);&lt;br /&gt;
  Rectangle r1 = new Rectangle(100, 100, 75, 75);&lt;br /&gt;
  union() {&lt;br /&gt;
    super(&amp;quot;Union&amp;quot;);&lt;br /&gt;
    setSize(250, 250);&lt;br /&gt;
  }&lt;br /&gt;
  public void paint(Graphics g) {&lt;br /&gt;
    g.setColor(Color.lightGray);&lt;br /&gt;
    Rectangle r2 = r.union(r1);&lt;br /&gt;
    g.fillRect(r2.x, r2.y, r2.width, r2.height);&lt;br /&gt;
    g.setColor(Color.black);&lt;br /&gt;
    g.drawRect(r.x, r.y, r.width, r.height);&lt;br /&gt;
    g.drawRect(r1.x, r1.y, r1.width, r1.height);&lt;br /&gt;
  }&lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
    JFrame f = new union();&lt;br /&gt;
    f.setVisible(true);&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>