Como desenhar Polígonos e Polilinhas em Java


Aprenderemos noções básicas sobre polígonos e como desenhar estes em Java nesse tutorial, como preenchê-los e escolher o formato de borda.




Ambos, polígonos e polilinhas, são figuras geométricas formadas por segmento de linhas conectados.

A diferença é que os polígonos são sempre fechados e as polilinhas podem ser fechadas (aí será um polígono) ou não. Embora haja diferenças, ambos são tratados como classe “Polygon”.

Alguns métodos requerem objetos do típo "Polygon" (da java.awt).
Vamos demonstrar alguns métodos para desenhar polígonos:

public void drawPolygon( int[] xPoints, int[] yPoints, int points )

Desenha um polígono. Recebe dois vetores de inteiros, com a localização dos pontos do eixo x, os pontos do eixo y e o número total de pontos do polígono.
Caso o último ponto seja diferente do primeiro, mais um segmento de linha será criado para conectar o último com o primeiro ponto, fechando o polígono.


public void drawPolyline( int[] xPoints, int[] yPoints, int points )

Desenha linhas conectadas. Recebe dois vetores de inteiros, com a localização dos pontos do eixo x, os pontos do eixo y e o número total de pontos da polilinha.
Caso o último ponto seja diferente do primeiro a polilinha não é fechada (não é um polígono).


public void drawPolygon( Polygon p )

Desenha o objeto Polygon.


public void fillPolygon( int[] xPoints, int[] yPoints, int points )

Mesmo método Polygon, mas este preenche (pinta) o polígono.

public void fillPolygon( Polygon p )

Desenha o objeto Polygon, porém preenchido.


Construtores (constructors) e métodos da classe Polygon:

public Polygon()

Criado o objeto polígono, sem pontos.


public Polygon( int[] xValues, int[] yValues, int numberOfPoints )

Cria o objeto polígono. Recebe dois vetores de inteiros, com a localização dos pontos do eixo x, os pontos do eixo y e o número total de pontos do polígono.

public void addPoint( int x, int y )

Adiciona um par de coordenadas ao polígono.


Para criar um painel para desenhar os polígonos, crie uma classe que extenda a JPanel e nela crie a paintComponent:

public class PolygonsJPanel extends JPanel
{
     public void paintComponent( Graphics g )
      {
          super.paintComponent( g );
          int[] xValues = { 20, 40, 50, 30, 20, 15 };
          int[] yValues = { 50, 50, 60, 80, 80, 60 };
          Polygon poligono = new Polygon( xValues, yValues, 6 );
          g.drawPolygon( poligono );
       }
}


Esses métodos e classes estão presentes em:
import java.awt.Graphics;
import java.awt.Polygon;
import javax.swing.JPanel;

Na sua classe main, crie um objeto dessa sua classe que desenha o polígono e add no seu frame.

Dicas e Novidades de Java por e-mail

Sabe quanto custa um bom livro de java?
Entre R$ 100,00 e R$300,00

Sabe quanto custa um bom curso presencial de Java?
Entre R$ 1.500,00 até R$ 4.000,00

Sabe quanto custa estudar pelo Java Progressivo?
Absolutamente nada.

Porém, também precisamos de sua ajuda e apoio.
Para isso, basta curtir nossa Fan Page e clicar no botão G+ do Google.