Subtract Area between two Figures

In the given example, the classes Rectangle2D and Ellipse2D are provided from the package java.awt.geom.*.

Subtract Area between two Figures

In the given example, the classes Rectangle2D and Ellipse2D are provided from the package java.awt.geom.*.

Subtract Area between two Figures

Subtract Area between two Figures

     

This section illustrates you how to subtract the area between the two figures in Graphics.

In the given example, the classes Rectangle2D and Ellipse2D are provided from the package java.awt.geom.*. These classes provides the rectangle and oval shape respectively. Object of class Area is created by passing the object of class Shape into its constructor. Set the size of rectangle  with rect.setFrame(150, 150, 150, 100) and size of oval with oval.setFrame(100, 100, 150, 100). 

Following code subtract the area of rectangle over the oval:

 area1.subtract(area2);

Here is the code of SubtractAreaExample.java

import java.awt.*;
import java.awt.event.*;
import java.awt.geom.Area;
import java.awt.geom.Ellipse2D;
import java.awt.geom.Rectangle2D;
import javax.swing.*;

public class SubtractAreaExample extends JApplet {
 Rectangle2D.Double rect = new Rectangle2D.Double();
 Ellipse2D.Double oval = new Ellipse2D.Double();
 Area area1; 
 Area area2;

  public void init() {
  setBackground(Color.white);
  }
  public void paint(Graphics g) {
  Graphics2D g2 = (Graphics2D) g;
  rect.setFrame(150, 150, 150, 100);
  area1 = new Area(rect);
  oval.setFrame(100, 100, 150, 100);
  area2 = new Area(oval);
  area1.subtract(area2);
  g2.fill(area1);
  }
  public static void main(String args[]) {
  JFrame f = new JFrame("Subtract Area");
  f.addWindowListener(new WindowAdapter() {
  public void windowClosing(WindowEvent e)
    {System.exit(0);}
  });
  JApplet applet = new SubtractAreaExample();
  f.getContentPane().add("Center", applet);
  applet.init();
  f.pack();
  f.setSize(new Dimension(350,300));
  f.show();
  }
  }

Output will be displayed as:

Download Source Code