Quando fui mostrar um dos primeiros softwares que fiz em Java para um colega da faculdade, logo veio a pergunta: "e aquela telinha que aparece enquanto o aplicativo está carregando" ?
Era a splash screen.
Sinceramente, eu nem havia pensado nisso, então perguntei se ele achava a splash screen deveras importante. A resposta: "Claro"! Eu estava preocupadíssimo com a integridade dos dados, principalmente quando houvesse acesso simultâneo ao software através de vários clientes e ele me cobra uma splash screen?!
Ok! Como ele estava fazendo o papel de um potencial cliente, resolvi colocar a splash screen no aplicativo. Newbie total, quase perdi um churrasco no Sábado para conseguir implementar essa splash screen e ainda tive que contar com [muita] ajuda do Google e de outros programadores que disponibilizaram código na Web.
Além de quase perder o churrasco, tive que aturar outro colega, desenvolvedor .NET, tirar onda pela dificuldade que tive. "Ahahaha! Com .Net é só selecionar o arquivo de imagem e pronto!" Confesso que fiquei com inveja...
Seus problemas acabaram!
Isso tudo foi antes do Java SE 6.
Se o aplicativo é iniciado a partir da linha de comando ou atalho, basta utilizar a opção -splash:java -splash:app_splash_screen.gif Application
Se o aplicativo estiver empacotado num arquivo .JAR, inclua a opção SplashScreen-Image: no MANIFEST.mf. Especifique o caminho para a imagem que servirá como splash screen, que por sua vez deverá estar nesse arquivo .JAR.SplashScreen-Image: org/modelmat/resources/images/modelmat.gif
E não é só isso...
Utilizando AWT ou Swing para implementar a splash screen, a JVM, AWT, provavelmente Swing e talvez até bibliotecas de terceiros precisavam ser inicializadas para que a splash aparecesse.
Além da facilidade, a splash screen no Java SE 6 irá aparecer muito antes porque não precisa esperar todo esse startup.
Leitura Recomendada:
Fonte Utilizada:
Quarta-feira, Fevereiro 21, 2007
Splash Screen
Assinar:
Postar comentários (Atom)

4 comentários:
amigo, otimo blog. achei massa, porem ao fazer com vc indicou(usando java 6) a tela splash carregou e logo em seguida minha aplicação tambem.. e pior, a tela splash fica carregada direta em baixo da app ate que a mesma seja fechada...
como eu faria para a tela splash passar um pouco tempo, depois fechar e só entao abrir minha aplicação???
Olá, Raphael!
>> como eu faria para a tela splash passar um pouco tempo,
>> depois fechar e só entao abrir minha aplicação???
Cara, esse é exatamente o tipo de comportamento que se espera de uma splah screen, por isso mesmo é o padrão.
Se você está seguindo exatamente as instruções descritas no blog e mesmo assim sua splash não desaparece quando seu alicativo é carregado, pode ser que tenha encontrado algum bug.
Mas isso é bem estranho. Aqui funciona direito. Talvez queira ver esse artigo. Verifique se está tudo de acordo.
T+!
oi Rafael,
fiz exatamente como no tutorial.. vou no manifest e adiciono as linhas... dp dou 2 cliques no jar e ele abre ao mesmo tempo que o splash...
sera que eu tenho que fazer somente pelo comando java -splash:app_splash_screen.gif Application no prompt? ou dando 2 cliques no jar deveria funcioonar tb???
nao faço ideia o q esta errado...
tenho outra duvida sobre o swing lab..
baixei um zip de 4mb do swinglab 0.8.. adicionei o zip completo no meu projeto, porem as classes da mesma conitnua sem ser achada no meu projeto...
entao pergunto, como adiciono o swinglab ao meu projeto? caso nao possa ser o zip todo, quais jar dentro da mesma eu devo adicionar???
ps.: estou usando o eclipse...
Como eu disse antes, deveria funcionar. É provável que você esteja enfrentando alguma espécie de bug, embora difícil saber exatamente o que está acontecendo apenas pelos comentários do blog.
Quanto à biblioteca do Swing Labs, adcione-a ao classpath do aplicativo.
Boa sorte!
Postar um comentário