Artigo Java Magazine 13 - Pinte o 7 com Java 2d

Artigo publicado pela Java Magazine 13.

Esse artigo faz parte da revista Java Magazine edição 13. Clique aqui para ler todos os artigos desta edição.

Clique aqui para ler esse artigo em PDF.

Pinte o 7 com Java 2d

 

  Estamos bem informados a respei­to das tecnologias Java para as plataformas web, corporativa e móvel, porém muitos não conhecem as APIs Java para aplicações de domínios mais específicos, como manipulação e processamento de imagens. Java oferece um conjunto de modernas APIs gráficas que dão suporte aos mais diversos tipos de necessidades, como Java 3D, Java Media Framework (JMF) e Java 2D, assunto desta série de artigos.


A API Java 2D oferece suporte à criação e manipulação de gráficos e imagens, animações, transformações geométricas e impressão, entre muitas outras funciona­lidades. As classes da API são construídas sobre o tradicional AWT (Abstract Win­dow Toolkit), estendendo funcionalidades existentes e acrescentando muitas novas. São incluídas com o Java Runtime Envi­ronment (JRE), e ficam no pacote java.awt e em alguns subpacotes, como java.awt.image e java.awt.image.geom.

Processo de renderização

Para tirar o máximo proveito dos recur­sos do Java 2D, precisamos compreender o processo de renderização de Java, a maneira como é gerenciada a exibição dos componentes. Um sistema de desenho é responsável pela exibição dos componen­tes (janelas, painéis, botões etc.) na tela, incluindo seu posicionamento, tamanho, componente “pai” e outras características. Cada componente é responsável pela ma­neira que será renderizado, incluindo seus textos, cores e imagens. A renderização é feita no método paint(), herdado da classe abstrata java.awt.Component e redefinido em cada componente com o código específico de desenho.


A Figura 1 mostra como funciona a renderização para um painel simples com três botões. O diagrama de seqüência apre­senta as mensagens enviadas pelo sistema de desenho para o painel e do painel para os botões. As mensagens representam chamadas ao método paint(). São realizadas sempre que o sistema de desenho conside­rar adequado – por exemplo, no momento que o painel é desenhado a primeira vez,  ou quando a janela que o contém for redi­mensionada.

O coração da API

A classe java.awt.Graphics2D é a principal do Java 2D. Ela representa o contexto gráfico e gerencia toda a renderização. Estende java.awt.Graphics, classe usada para a renderização antes da chegada do Java 2D. Uma vez obtida uma instância de Graphics2D, temos disponíveis métodos para desenho de formas básicas, imagens, textos e outras operações gráficas. Para manipular gráficos em Java, não criamos diretamente um objeto Graphics2D. Ele é criado pela própria JVM, e passado para a aplicação como parâmetro do método paint(), como veremos adiante.

Alguns atributos da classe Graphics2D são essenciais no momento da renderização. Resumidamente:

paint – define o estilo de cor ou textura utilizado para o desenho


stroke – especifica o estilo de linha


font – define o tipo, estilo e o tamanho da fonte


composite – especifica efeitos de transpa­rência e composição


clip – determina a área visível do
gráfico


affineTransform – para transformações, como translação e rotação (transformações serão mostradas na segunda parte do
artigo)
" [...] continue lendo...

Ebook exclusivo
Dê um upgrade no início da sua jornada. Crie sua conta grátis e baixe o e-book

Artigos relacionados