In the given example, the classes Rectangle2D and Ellipse2D are provided from the package java.awt.geom.*.
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:
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