Intersection between rectangles : Rectangle « 2D Graphics « Java Tutorial

// This example is from the book _Java AWT Reference_ by John Zukowski.
// Written by John Zukowski.  Copyright (c) 1997 O'Reilly & Associates.
// You may study, use, modify, and distribute this example for any purpose.
// This example is provided WITHOUT WARRANTY either expressed or
import java.awt.Graphics;
import java.awt.Rectangle;

import javax.swing.JFrame;

public class intersection extends JFrame {
  Rectangle r = new Rectangle(50, 50, 100, 100);
  Rectangle r1 = new Rectangle(100, 100, 75, 75);

  intersection() {
    setSize(250, 250);

  public void paint(Graphics g) {
    g.drawRect(r.x, r.y, r.width, r.height);
    g.drawRect(r1.x, r1.y, r1.width, r1.height);
    Rectangle r2 = r.intersection(r1);
    g.fillRect(r2.x, r2.y, r2.width, r2.height);

  public static void main(String[] args) {
    JFrame f = new intersection();

16.41.2.Draw RectangleDraw Rectangle
16.41.3.drawRect (int, int, int, int) to draw a rectangle outline
16.41.4.drawRoundRect (int, int, int, int, int, int) to draw a rounded rectangle outline
16.41.5.Draw a three-dimensional rectangle outline
16.41.6.How do I...Fill shapes?How do I...Fill shapes?
16.41.7.Fill 3D RectangleFill 3D Rectangle
16.41.8.Draw Rectangle with Rectangle2D.Float
16.41.9.Draw RoundRectangle2D.Float
16.41.10.Ractangle with rounded corners drawn using Java 2D Graphics API
16.41.11.Intersection between rectangles
16.41.12.Grow a rectangle
16.41.13.Union two Rectangles
16.41.14.Clips the specified line to the given rectangle.
16.41.15.Returns a point based on (x, y) but constrained to be within the bounds of a given rectangle.
16.41.16.Checks, whether the given rectangle1 fully contains rectangle 2 (even if rectangle 2 has a height or width of zero!).