FileDocCategorySizeDatePackage
Rect.javaAPI DocExample2909Mon Sep 22 13:30:30 BST 1997None

Rect

public class Rect extends Object
This class represents a rectangle. Its fields represent the coordinates of the corners of the rectangle. Its methods define operations that can be performed on Rect objects.

Fields Summary
public int
x1
public int
y1
public int
x2
public int
y2
Constructors Summary
public Rect(int x1, int y1, int x2, int y2)
The is the main constructor for the class. It simply uses its arguments to initialize each of the fields of the new object. Note that it has the same name as the class, and that it has no return value declared in its signature.

    this.x1 = x1;
    this.y1 = y1;
    this.x2 = x2;
    this.y2 = y2;
  
public Rect(int width, int height)
This is another constructor. It defines itself in terms of the one above

 this(0, 0, width, height); 
public Rect()
This is yet another constructor.

 this(0, 0, 0, 0); 
Methods Summary
public Rectintersection(Rect r)
Return the intersection of this rectangle with another. I.e. return their overlap.

    Rect result =  new Rect((this.x1 > r.x1) ? this.x1 : r.x1,
                            (this.y1 > r.y1) ? this.y1 : r.y1,
                            (this.x2 < r.x2) ? this.x2 : r.x2,
                            (this.y2 < r.y2) ? this.y2 : r.y2);
    if (result.x1 > result.x2) { result.x1 = result.x2 = 0; }
    if (result.y1 > result.y2) { result.y1 = result.y2 = 0; }
    return result;
  
public booleanisInside(int x, int y)
Test whether the specified point is inside the rectangle

    return ((x >= x1) && (x <= x2) && (y >= y1) && (y <= y2));
  
public voidmove(int deltax, int deltay)
Move the rectangle by the specified amounts

    x1 += deltax; x2 += deltax;
    y1 += deltay; y2 += deltay;
  
public java.lang.StringtoString()
This is a method of our superclass, Object. We override it so that Rect objects can be meaningfully converted to strings, can be concatenated to strings with the + operator, and can be passed to methods like System.out.println()

    return "[" + x1 + "," + y1 + "; " + x2 + "," + y2 + "]";
  
public Rectunion(Rect r)
Return the union of this rectangle with another. I.e. return the smallest rectangle that includes them both.

    return new Rect((this.x1 < r.x1) ? this.x1 : r.x1,
                    (this.y1 < r.y1) ? this.y1 : r.y1,
                    (this.x2 > r.x2) ? this.x2 : r.x2,
                    (this.y2 > r.y2) ? this.y2 : r.y2);