SyntaxHighlighter

terça-feira, 21 de setembro de 2010

SplashScreen e mais um java blog - Parte 1

Olá, sejam todos bem vindos ao blog Java Milk! Isso mesmo, este é mais um dos milhares de blogs que tratam de assuntos voltados à tecnologia Java. Meu nome é Giuliano e meu principal interesse neste blog é passar um pouco de meu limitado conhecimento sobre o gigantesco universo de Java e é claro, aproveitar o que melhor o compartilhamento de conhecimento nos dá, o real aprendizado!
 
Pra começar essa jornada, escolhi um assunto de fácil abordagem que frequêntemente surge em nossa mente quando estamos desenvolvendo nossos aplicativos desktop, a "tela de apresentação". O termo técnico tradicional dessa "janela de apresentação", que alias aplica-se a qualquer linguagem é "Splash Screen". Pra facilitar a compreensão e acostuma-los a este termo, usarei apenas o termo "Splash Screen". Pra não sobrecarregar o post e deixar a leitura longa e tediosa, dividi o post em duas partes, sendo a primeira parte apenas uma introdução rápida sobre splash screen e a segunda algo mais detalhado.

Na prática a splash screen não existe somente para apresentar o software (logo e nome do aplicativo), existem outras funcionalidades que estão por trás da existência desta tela inicial:
  •  Notificar o usuário que o software está execuntando algum processo inicial e que logo estará pronto para ser utilizado (lembre-se a Splash Screen só aparece uma vez, na inialização do software)
  • Informar o usuário sobre o status desta operação inicial.
  • Informar a versão do aplicativo
Não é dificil imaginar um caso onde a janela principal do aplicativo, mostrada logo quando este é carregado, dependa diretamente de informações oriundas de um banco de dados, ou então, de um conjunto de máquinas/equipamentos, em geral processos lentos e suceptíveis a diversas variáveis: sobrecarga da rede, tempo de resposta de um equipamento, etc. Neste caso, imagine o quão frustrante seria pro usuário carregar o software e ficar aguardando o mouse mudar o formato (comportamente tipico de um software do windows quando este não está respondendo), ou pior, quando toda a estrutura da janela principal é carregada, nenhuma informação aparece e as opções de menu, botões, etc, ficam travadas até que todo o conteúdo esteja finalmente pronto ... estressa só de pensar, não? Pois é, ai é que entra de verdade a splash screen. Uma imagem ou mesmo uma janela, que segura a anciedade do usuário até que todo o conteúdo inicial esteja pronto e o aplicativo possa enfim ser utilizado.

Neste post, pretendo mostrar a vocês como criar uma splash screen para seu aplicativo Java.

Existe uma classe em Java, mais precisamente no pacote java.awt, que cuida da splash screen, o nome, adivinhem só, SplashScree!. Esta classe foi criada especialmente para cuidar das tarefas que cercam a existência de uma splash screen e é claro, não tem tudo que gostariamos ... mas como veremos adiante atende bem as necessidades.

Colocar um SplashScreen em seu aplicativo pode ser tão simples quanto encontrar uma imagem em um dos formatos aceitos (jpg, png e gif, incluindo gif animados) e passa-la (nome do arquivo) via linha de comando ao seu programa. Experimente o comando abaixo (garanta que o arquivo minhasplashscreen.gif exista no diretório onde você está executando o aplicativo):
  • java -splash:minhasplashscreeen.png -jar dist/meuaplicativo.jar
Muito simples, não?

Repare que para um exemplo qualquer, talvez a splash screen tenha apenas piscado na tela. Isso acontece ou porque o programa terminou ou então porque outra janela foi carregada.

E é só isso? Não preciso sequer adicionar um código dentro do meu aplicativo? Isso mesmo, simples e fácil. Você só irá se preocupar em usar algum código pra tratar sua splash screen caso queira por exemplo adicionar uma informação na imagem, caso contrário "be happy"!

Nenhum comentário:

Postar um comentário