Classe AWT Arc2D

Introdução

A classe Arc2D é a superclasse de todos os objetos que armazenam um arco 2D definido por um retângulo de enquadramento, ângulo inicial, extensão angular (comprimento do arco) e um tipo de fechamento (OPEN, CHORD ou PIE).

Declaração de classe

A seguir está a declaração para java.awt.Arc2D classe:

public abstract class Arc2D
   extends RectangularShape

Campo

A seguir estão os campos para java.awt.geom.Arc2D classe:

  • static int CHORD - O tipo de fechamento para um arco fechado desenhando um segmento de linha reta desde o início do segmento de arco até o final do segmento de arco.

  • static int OPEN - O tipo de fechamento para um arco aberto sem segmentos de caminho conectando as duas extremidades do segmento de arco.

  • static int PIE - O tipo de fechamento para um arco fechado desenhando segmentos de linha reta desde o início do segmento de arco até o centro da elipse completa e desse ponto até o final do segmento de arco.

Construtores de classe

SNConstrutor e descrição
1

protected Arc2D(int type)

Esta é uma classe abstrata que não pode ser instanciada diretamente.

Métodos de aula

SNMétodo e Descrição
1

boolean contains(double x, double y)

Determina se o ponto especificado está ou não dentro do limite do arco.

2

boolean contains(double x, double y, double w, double h)

Determina se o interior do arco contém ou não inteiramente o retângulo especificado.

3

boolean contains(Rectangle2D r)

Determina se o interior do arco contém ou não inteiramente o retângulo especificado.

4

boolean containsAngle(double angle)

Determina se o ângulo especificado está ou não dentro das extensões angulares do arco.

5

boolean equals(Object obj)

Determina se o objeto especificado é ou não igual a este Arc2D.

6

abstract double getAngleExtent()

Retorna a extensão angular do arco.

7

abstract double getAngleStart()

Retorna o ângulo inicial do arco.

8

int getArcType()

Retorna o tipo de fechamento de arco do arco: OPEN, CHORD ou PIE.

9

Rectangle2D getBounds2D()

Retorna o retângulo de enquadramento de alta precisão do arco.

10

Point2D getEndPoint()

Retorna o ponto final do arco.

11

PathIterator getPathIterator(AffineTransform at)

Retorna um objeto de iteração que define o limite do arco.

12

Point2D getStartPoint()

Retorna o ponto inicial do arco.

13

int hashCode()

Retorna o código hash para este Arc2D.

14

boolean intersects(double x, double y, double w, double h)

Determina se o interior do arco cruza ou não o interior do retângulo especificado.

15

protected abstract Rectangle2D makeBounds(double x, double y, double w, double h)

Constrói um Rectangle2D com a precisão apropriada para conter os parâmetros calculados para ser o retângulo de enquadramento deste arco.

16

abstract void setAngleExtent(double angExt)

Define a extensão angular deste arco para o valor duplo especificado.

17

void setAngles(double x1, double y1, double x2, double y2)

Define o ângulo inicial e a extensão angular deste arco usando dois conjuntos de coordenadas.

18

void setAngles(Point2D p1, Point2D p2)

Define o ângulo inicial e a extensão angular deste arco usando dois pontos.

19

abstract void setAngleStart(double angSt)

Define o ângulo inicial deste arco para o valor duplo especificado.

20

void setAngleStart(Point2D p)

Define o ângulo inicial deste arco para o ângulo que o ponto especificado define em relação ao centro deste arco.

21

void setArc(Arc2D a)

Define este arco igual ao arco especificado.

22

abstract void setArc(double x, double y, double w, double h, double angSt, double angExt, int closure)

Define a localização, tamanho, extensão angular e tipo de fechamento deste arco para os valores duplos especificados.

23

void setArc(Point2D loc, Dimension2D size, double angSt, double angExt, int closure)

Define a localização, tamanho, extensão angular e tipo de fechamento deste arco para os valores especificados.

24

void setArc(Rectangle2D rect, double angSt, double angExt, int closure)

Define a localização, tamanho, extensão angular e tipo de fechamento deste arco para os valores especificados.

25

void setArcByCenter(double x, double y, double radius, double angSt, double angExt, int closure)

Define a posição, limites, extensões angulares e tipo de fechamento deste arco para os valores especificados.

26

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

Define a posição, limites e extensões angulares deste arco para o valor especificado.

27

void setArcType(int type)

Define o tipo de fechamento deste arco para o valor especificado: OPEN, CHORD ou PIE.

28

void setFrame(double x, double y, double w, double h)

Define a localização e o tamanho do retângulo de enquadramento desta forma para os valores retangulares especificados.

Métodos herdados

Esta classe herda métodos das seguintes classes:

  • java.awt.geom.RectangularShape

  • java.lang.Object

Exemplo Arc2D

Crie o seguinte programa java usando qualquer editor de sua escolha em dizer D:/ > AWT > com > tutorialspoint > gui >

AWTGraphicsDemo.java
package com.tutorialspoint.gui;

import java.awt.*;
import java.awt.event.*;
import java.awt.geom.*;

public class AWTGraphicsDemo extends Frame {
       
   public AWTGraphicsDemo(){
      super("Java AWT Examples");
      prepareGUI();
   }

   public static void main(String[] args){
      AWTGraphicsDemo  awtGraphicsDemo = new AWTGraphicsDemo();  
      awtGraphicsDemo.setVisible(true);
   }

   private void prepareGUI(){
      setSize(400,400);
      addWindowListener(new WindowAdapter() {
         public void windowClosing(WindowEvent windowEvent){
            System.exit(0);
         }        
      }); 
   }    

   @Override
   public void paint(Graphics g) {
      Arc2D.Float arc = new Arc2D.Float(Arc2D.PIE);
      arc.setFrame(70, 200, 150, 150);
      arc.setAngleStart(0);
      arc.setAngleExtent(145);
      Graphics2D g2 = (Graphics2D) g; 
      g2.setColor(Color.gray);
      g2.draw(arc);
      g2.setColor(Color.red);
      g2.fill(arc);
      g2.setColor(Color.black);
      Font font = new Font("Serif", Font.PLAIN, 24);
      g2.setFont(font);
      g.drawString("Welcome to TutorialsPoint", 50, 70);
      g2.drawString("Arc2D.PIE", 100, 120); 
   }
}

Compile o programa usando o prompt de comando. Vamos paraD:/ > AWT e digite o seguinte comando.

D:\AWT>javac com\tutorialspoint\gui\AwtGraphicsDemo.java

Se nenhum erro ocorrer, significa que a compilação foi bem-sucedida. Execute o programa usando o seguinte comando.

D:\AWT>java com.tutorialspoint.gui.AwtGraphicsDemo

Verifique a seguinte saída