by Dinesh Thakur

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);
  }
}

Arc2D Java Example