Enviar um café pro programador

Pode me ajudar a transformar cafeína em código?

A incrível API Java 2D

A API Java 2D é um conjunto de recursos que permitem uma ampla possibilidade para se trabalhar com desenhos, gráficos e qualquer coisa relacionada com imagem 2D em Java.

API Java 2D

A API Java 2D permite mais capacidades para os gráficos/desenhos feitos em 2D, além dos detalhados neste artigo. 
Obviamente, o visto na seção Gráficos e 2D foi apenas uma parte do que é possível em Java, e especificamente, com essa API. 
Caso queira algo mais específico para as suas necessidades, você pode obter mais informações no site da documentação do Java, da Oracle:


Para usar a Java 2D API você terá que fazer uma referência ao pacote Graphics2D, que é uma subclasse da Graphics, que foi explodara nesse artigo. O objeto usado nos métodos 'paintComponent' são uma uma instância da subclasse da Graphics2D que é passada a esse método e acessada pela superclasse Graphics.

Alguns desenhos possíveis de serem feitos usando o pacote java.awt.geom:
  • Linha em 2D : Line2D.Double
  • Retângulo em 2D: Rectangle2D.Double
  • Retângulo em 2D com bordas arredondadas: RoundRectangle2D.Double
  • Arcos em 2D: Arc2D.Double
  • Elipses em 2D: Ellipse2D.Double
Para usá-las, defina:
Graphics2D figura2D = ( Graphics2D ) g;

É possível criar essas formas com tipos float também.
Usando a Java 2D API é fácil criar formas que são pintadas com cores que mudam gradualmente, obtendo efeitos mais complexos de uma forma bem simples, apenas preenchendo os argumentos dos métodos de cada forma. Esse efeito de mudança é feito através da classe GradientPaint, exemplo:

figura2D.setPaint( new GradientPaint( 5, 30, Color.BLUE, 35, 100, Color.YELLOW, true ) );
figura2D.fill( new Ellipse2D.Double( 5, 30, 65, 100 ) );

Nesse caso, usamos o gradiente azul-amarelo pra pintar a elipse.


Até agora foi falado sobre o uso de formas pré-estabelecidas no Java.
Porém, é possível criar suas próprias formas de figuras, através da classe GeneralPath, da package java.awt.geom.

Com ela, é possível, por exemplo, criar figuras através de vetores de inteiros, que representam pontos dos eixos x e y.
Para criar uma figura:

Graphics2D fig = ( Graphics2D ) g;
GeneralPath fig = new GeneralPath();

Podemos usar os seguintes métodos:
fig.moveTo( int, int) ; fig.lineTo ( int [], int []) ; fig.closePath();

Onde colocamos a posição inicial, criamos ela e fechamos a figura.

Podemos usar um objeto da GeneralPath como argumento da fig2d:
fig2d.translate(int , int) ; fig2d.rotate (float) ; fig2d.setColor ( Color)

Onde podemos transladar a figura, rotacionar e pintá-la.


As figuras e formas são muitas, assim como os métodos para podermos fazer os mais diversos tipos de efeitos nos desenhos, por isso não cabe aqui mostrar todos os códigos e programas prontos.
Caso deseje algo específico, vá em busca da documentação.

E se precisar de ajudar, não hesite em perguntar no campo de Comentários ou fazendo Contato.

Um comentário:

Lucas disse...

Graphics2D fig = ( Graphics2D ) g;
GeneralPath fig = new GeneralPath();

Fica dizendo que ta duplicado a variavel fig.
Quando utilizo moveTo e lineTo não funciona pois o lineTo não aceita vetores como argumento.

Contribuir com o Java Progressivo

Que tal apoiar e fazer crescer o ensino da programação no Brasil ?

Ajudar nosso país a crescer e se desenvolver cada vez mais, tecnologicamente?

Clica abaixo pra saber mais!

Apoiar o Projeto Progressivo


Tutoriais de Java