Java Swing Tutorial - Java Arc2D.setArcByTangent(Point2D p1, Point2D p2, Point2D p3, double radius)








Syntax

Arc2D.setArcByTangent(Point2D p1, Point2D p2, Point2D p3, double radius) has the following syntax.

public void setArcByTangent(Point2D p1,   Point2D p2,   Point2D p3,   double radius)

Example

In the following code shows how to use Arc2D.setArcByTangent(Point2D p1, Point2D p2, Point2D p3, double radius) method.

//  w  w w . jav  a  2  s .c  o  m
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Point;
import java.awt.geom.Arc2D;

import javax.swing.JFrame;
import javax.swing.JPanel;

public class Main extends JPanel {

  public void paint(Graphics g) {
    Graphics2D g2 = (Graphics2D) g;
    int w = getSize().width;
    int h = getSize().height;

    Arc2D arc = new Arc2D.Double(0.0, 0.5, w, h, 0.0, 60.0, Arc2D.CHORD);

    g2.draw(arc);

    
    arc.setArcByTangent(new Point(2, 3),new Point(3, 4), new Point(3, 4), Arc2D.PIE);
    g2.fill(arc);

    arc = new Arc2D.Float(0.0f, 0.0f, w, h, 210.0f, 130.0f, Arc2D.OPEN);

    g2.draw(arc);
  }

  public static void main(String[] args) {
    JFrame frame = new JFrame();
    frame.getContentPane().add(new Main());

    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setSize(200, 200);
    frame.setVisible(true);
  }
}