Show Intersection between the Area of two Shapes

Ads
 

Show Intersection between the Area of two Shapes

Intersection means 'the common part'. Classes Rectangle2D and Ellipse2D are provided by the package java.awt.geom.*.

Intersection means 'the common part'. Classes Rectangle2D and Ellipse2D are provided by the package java.awt.geom.*.

Show Intersection between the Area of two Shapes

     

This section illustrates you how to show the intersection between the area of shapes in Graphics.

Intersection means 'the common part'. Classes Rectangle2D and Ellipse2D are provided by the package java.awt.geom.*. These classes provides the shapes rectangle and oval respectively. Object of Area class is created to pass the object of shape class 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 shows the intersection between the two shapes:

 area1.intersect(area2);

Here is the code of IntersectAreaExample.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 IntersectAreaExample 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.intersect(area2); 
  g2.fill(area1); 
  }
  public static void main(String s[]) {
  JFrame f = new JFrame("Intersect Area");
  f.addWindowListener(new WindowAdapter() {
  public void windowClosing(WindowEvent e) 
  {System.exit(0);}
  });
  JApplet applet = new IntersectAreaExample();
  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

 

Ads

Ads