The class allows Arc2D draw an arc of an ellipse or a circle. For this, first the rectangle that contains the ellipse whose arc you want to draw is defined ; then assuming that the center of the rectangle sets the point (0,0) of a Cartesian coordinate axis , the angles start and end are specified the arc in degrees . Finally , indicate whether you want to close the bow joining ends or not. This closure can be of three types :
• Arc2D.OPEN : the arc is open .
• Arc2D.CHORD : the ends of the arch are connected by a line segment .
• Arc2D.PIE : Each end of the arc joined by a segment with point ( 0 , 0 ) of the coordinate axis .
The following code draws a rectangle reference . Then, and within a rectangle equal to the reference , an arc that starts in the draw angle 0 ° and ends at 135 . Finally the arc closes like a piece of a pie chart ( Arc2D.PIE ) .
Following isatablethat listssome of the Constructors and methods of Ellipse2Dclass:
Constructors and Methods | Description |
Arc2D.Double () | Creates an OPEN Arc2D with a size of (0, 0) at a location of (0, 0), and angle (0, 0). |
Arc2D.Double (int Type) | Creates an Arc2D of the specified Type with a size of (0, 0) at a location of (0, 0), and angle (0, 0). |
Arc2D.Double (double X, double Y, double Width, double Height, double Theta, double Delta, int Type) | Creates an Arc2D of the specified Type with a size of (Width, Height) at location (X, Y), and angle (Theta, Delta). |
Arc2D.Float () | Creates an OPEN Arc2D with a size of (0, 0) at a location of (0, 0), and angle (0, 0). |
Arc2D.Float (int Type) | Creates an Arc2D of the specified Type with a size of (0, 0) at a location of (0, 0), and angle (0, 0) |
Arc2D.Float (float X, float Y, float Width, float Height, float Theta, float Delta, int Type) | Creates an Arc2D of the specified Type with a size of (Width, Height) at location (X, Y), and angle (Theta, Delta). |
contains (double X, double Y) | Returns true if the point (X, Y) is within the Arc. |
contains (double X, double Y, double Width, double Height) | Returns true if the Arc (X, Y, Width, Height) is entirely within the Arc. |
intersects (double X, double Y, double Width, double Height) | Returns true if the Arc (X, Y, Width, Height) intersects the Arc. |
setArc (double X, double Y, double Width, double Height, double Theta, double Delta, int Type) | Sets the location, bounding size, arc size, and type of the arc. |
Drawinganarcexampleshownthecodeas follows:
import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;
import java.awt.Color;
import java.awt.Graphics;
import javax.swing.*;
import java.awt.geom.*;
import java.awt.image.*;
public class DrawArc2DExample extends Applet {
public static void main(String[] args) {
Frame DrawArc2D = new Frame("Draw Arc2D Example");
DrawArc2D.setSize(350, 250);
Applet DrawArc2DExample = new DrawArc2DExample();
DrawArc2D.add(DrawArc2DExample);
DrawArc2D.setVisible(true);
DrawArc2D.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
}
public void paint(Graphics g) {
g.setColor(Color.blue);
g.setFont(new Font("Arial",Font.BOLD,14));
g.drawString("Draw Arc2D Example", 50, 40);
g.setFont(new Font("Arial",Font.BOLD,10));
g.drawString("http://ecomputernotes.com", 200, 205);
super.paint(g);
Graphics2D G2D = (Graphics2D)g;
G2D.setColor(Color.blue);
G2D.setStroke(new BasicStroke(1.0f));
Rectangle2D Rect2D = new Rectangle2D.Float(100.0f, 75.0f, 50.0f, 100.0f);
G2D.draw(Rect2D);
G2D.setColor(Color.green);
G2D.setStroke(new BasicStroke(3.0f));
Arc2D Ar2D = new Arc2D.Float(100.0f, 75.0f, 50.0f, 100.0f, 0.0f, 135.0f, Arc2D.PIE);
G2D.draw(Ar2D);
}
}