Obrigado por visitar a devmedia.com.br!

Precisamos de você para divulgar nossos vídeos e cursos gratuitos para a comunidade.

Se você gosta da devmedia.com.br por favor dê-nos o seu clique para o Google+ e ajude outros desenvolvedores ao redor do mundo.



Obrigado por seu apoio!
Equipe DevMedia

sair sem compartilhar (x)
DevMedia - asp.net, Java, Delphi, SQL e web Design, tudo em um só lugar!
Bem vindo a DevMedia!
LOGIN:     SENHA:

  #Este é um post fechado

Este post está disponível para assinantes da Java Magazine DIGITAL ou para quem possui Créditos DevMedia. Clique aqui para saber mais sobre como abrir este post!



Artigo Java Magazine 42 - Animações com JGoodies

Artigo publicado pela Java Magazine 42.

BRK##: 39 - 41

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

Animações com JGoodies

Anime suas telas em tempo real com a JGoodies Animation

Conheça a API de animação do JGoodies que permite criar animações de alta qualidade com baixo custo de processamento.

O desenvolvimento de animações em Java ganhou uma importante contribuição com o lançamento da API JGoodies Animation. Com esse projeto, é possível construir animações em tempo real e de alta qualidade em suas aplicações desktop, exigindo pouca capacidade de processamento.

Neste artigo, são apresentadas as principais características da API Animation que, além de fornecer recursos para o desenvolvimento de animações desde o início, possui um conjunto pronto de animações que podem ser aplicadas de forma rápida e simples no seu projeto. Algumas utilizações típicas da API são na construção animações para telas de abertura (splash), ou para destacar atividades que precisem capturar a atenção do usuário ou indicar que alguma ação mais demorada está ocorrendo.

Animações em tempo real

Antes de entrar nos detalhes sobre a API, vamos apresentar alguns conceitos fundamentais, e um pouco sobre como se chegou às técnicas atuais de animação.

Antes da existência de APIs dedicadas, os desenvolvedores implementavam animações utilizando loops no código (comandos for e while, por exemplo) para trocar imagens e mover desenhos na tela. Essa técnica, no entanto, revelou-se ineficiente por depender muito da capacidade de processamento de cada computador. Os resultados eram às vezes imprevisíveis – a animação podia aparecer correta na máquina do desenvolvedor, mas completamente inadequada na tela do usuário final.

O tempo como base

Por isso, passou-se a utilizar o fator tempo como o principal guia para conduzir os movimentos na tela. Com isso o programa calcula o desenho a ser apresentado dependendo de quanto tempo se passou desde o início da animação. Em outras palavras, uma animação baseada no tempo – também chamada de animação em tempo real – define funções que mapeiam o tempo para as propriedades de um determinado elemento na tela. Por exemplo, podemos montar uma função que em 10 segundos faz a largura de um retângulo crescer de 10 para 50 pixels.

As funções definidas para uma animação são processadas dependendo do número de quadros por segundo (FPSFrames Per Second) definido pelo programador. É importante lembrar que para nossos olhos devemos ter pelo menos 24 FPS para que a animação pareça suave e sem falhas. Se essa velocidade não for alcançada (devido a, por exemplo, à incapacidade do computador de desenhar todos os quadros necessários no tempo desejado), começamos a perceber a animação como um conjunto de imagens sendo trocadas.

JGoodies Animation no contexto

Isso, porém, é um problema que dificilmente acontece com as animações feitas com a JGoodies Animation, principalmente devido ao baixo custo de processamento exigido pela API. Na prática, as animações são suaves mesmo em máquinas mais lentas e com pouca memória.

Vale lembrar ainda que a API Animation é baseada nos conceitos descritos pela especificação SMIL (Synchronized Multimedia Integration Language) do W3C, porém utilizando Java para descrever as animações ao invés de XML. Para mais detalhes sobre essa especificação, visite w3.org/AudioVideo.

Exemplo com a API Animation

Apresentaremos agora como utilizar a API Animation em aplicações Swing. Nosso exemplo aborda as formas de animação que já vêm prontas na API e causam um efeito visual muito agradável. O código completo da aplicação está disponível para download no site da Java Magazine.

O exemplo usa várias bibliotecas do JGoodies. Para obtê-las visite o site jgoodies.com, navegue por Downloads>Libraries e baixe os arquivos zip das APIs Forms, Binding e Animation[1]. Os pacotes contêm exemplos, documentação, código-fonte e os JARs que devem ser incluídos no classpath da aplicação de exemplo.

Tipos de Animação

Vamos ilustrar as diferentes formas de animação que estão disponíveis na API. A tela da aplicação (Figura 1) é bem simples e contém apenas uma área onde a animação ocorre e um botão para iniciá-la.

 

Figura 1. Tela do exemplo em diferentes momentos.

Dadas as restrições da página impressa, é difícil conseguir passar a exata noção das animações na revista. Recomendo então que o leitor faça o download do código e execute a aplicação durante a leitura para ter a idéia precisa do que está sendo criado.

O exemplo é basicamente uma seqüência de frases que são apresentadas gradativamente na tela. Ao fundo, temos uma animação que lembra raios rodando no sentido horário, a qual o JGoodies chama de “animação do ventilador” (fan animation, em inglês). Os textos são apresentados na seguinte ordem:

 

Bem-vindo ao JGoodies

Essa é a API Animation

na Java Magazine

Tornando a GUI das suas aplicações

Mais elegante e atraente

Animação letra a letra é legal!

 

As animações que estão relacionadas a cada uma dessas frases estão descritas na Tabela 1. Após a apresentação dos textos, temos um efeito de desfoque que faz uma imagem surgir do fundo branco até atingir o foco total alguns segundos depois (Figura 7).

 

Frase

Animação

Descrição



ATENÇÃO! A exibição deste artigo foi interrompida.


  #Este é um post fechado

Este post está disponível para assinantes da Java Magazine DIGITAL ou para quem possui Créditos DevMedia. Clique aqui para saber mais sobre como abrir este post!







    0 COMENTÁRIO

[Fechar]

Este post é fechado - você precisa ter acesso ao post para incluir um comentário.


Nenhum comentário foi postado - seja o primeiro a comentar!



Autor
Hugo Vidal Teixeira

é consultor em interfaces gráficas e arquitetura de software e componentes. Possui mestrado em engenharia de software pela COPPE/UFRJ e bacharelado pela mesma universidade. Possui mais de 10 anos de experiência com desenvolvimento de software, incluindo dezenas de trabalhos internacionais com empres...


Space do autor
Estatísticas
Favorito:
Comentários:
Feedback:
Utilidade:
0   0
[Fechar]

Você precisa estar logado para dar um feedback.

Clique aqui para efetuar o login
[Fechar]
Este post está disponível para assinantes da Java Magazine DIGITAL ou para quem possui Créditos DevMedia.

  Conheça os planos de créditos DevMedia e visualize esse post agora mesmo!

Plano conveniência – Neste plano este post custa R$ 4,90 (Compre agora)
Esse plano permite que você compre somente um post, pagando por ele seu preço sem desconto.

Plano ocasional: Aqui este post custa: R$ 1,96 (assinante) ou R$ 2,45 (não-assinante)
Este plano é ideal para quem tem interesse em mais de um post. Você compra um mínimo de R$ 50,00 em créditos e ganha, em média, 50% de desconto no preço do post. Compre Créditos agora!

Assinatura de Créditos (Plano econômico) – Aqui este post custa R$ 1,47
Este plano é ideal para quem tem interesse em muitos posts. Com esse plano você compra R$ 180,00 em créditos e ganha, em média, 80% de desconto no preço do post. Assine este plano agora!

> Saiba mais sobre o Sistema de Créditos DevMedia
web-03
DevMedia  |  Anuncie  |  Fale conosco
Hospedagem web por Porta 80 Web Hosting
2012 - Todos os Direitos Reservados a web-03