Desenvolvendo splash screens para suas aplicações

Saiba como fazer splash screens para seus programas.

Desenvolvendo splash screens para suas aplicações

Esta dica de Swing apresenta um método de executar sua própria tela de apresentacao. Ela é uma aplicação simples, útil mostrar uma imagem do título do programa no centro da tela durante a quantidade de tempo passada no construtor. Esta classe inclui um método main() para testar a tela de apresentacao.

<B><SPAN >import </SPAN></B><SPAN >java.awt.*;</SPAN>
<B><SPAN >import </SPAN></B><SPAN >javax.swing.*;</SPAN>

<B><SPAN >public class </SPAN></B><SPAN >SplashScreen </SPAN><B><SPAN >extends </SPAN></B><SPAN >JWindow {</SPAN>

<B><SPAN >private int </SPAN></B><SPAN >duration;</SPAN>

<B><SPAN >public </SPAN></B><SPAN >SplashScreen(</SPAN><B><SPAN >int </SPAN></B><SPAN >d) {</SPAN>
<SPAN >duration = d;<BR></SPAN><SPAN >}</SPAN>

<SPAN >// Este é um</SPAN> <SPAN >método simples para mostrar uma tela de apresentção </SPAN>

<SPAN >// no centro da tela durante a quantidade de tempo passada no construtor</SPAN>

<B><SPAN >public void </SPAN></B><SPAN >showSplash() {</SPAN>
<SPAN >JPanel content = (JPanel)getContentPane();</SPAN>
<SPAN >content.setBackground(Color.white);</SPAN>

<SPAN >// Configura a posição e o tamanho da janela</SPAN>
<B><SPAN >int </SPAN></B><SPAN >width = </SPAN><SPAN >450</SPAN><SPAN >;</SPAN>
<B><SPAN >int </SPAN></B><SPAN >height =</SPAN><SPAN >115</SPAN><SPAN >;</SPAN>
<SPAN >Dimension screen = Toolkit.getDefaultToolkit().getScreenSize();</SPAN>
<B><SPAN >int </SPAN></B><SPAN >x = (screen.width-width)/</SPAN><SPAN >2</SPAN><SPAN >;</SPAN>
<B><SPAN >int </SPAN></B><SPAN >y = (screen.height-height)/</SPAN><SPAN >2</SPAN><SPAN >;</SPAN>
<SPAN >setBounds(x,y,width,height);</SPAN>

<SPAN >// Constrói o splash screen</SPAN>
<SPAN >JLabel label = </SPAN><B><SPAN >new </SPAN></B><SPAN >JLabel(</SPAN><B><SPAN >new </SPAN></B><SPAN >ImageIcon(</SPAN><SPAN >"devmedia.gif"</SPAN><SPAN >));</SPAN>
<SPAN >JLabel copyrt = </SPAN><B><SPAN >new </SPAN></B><SPAN >JLabel</SPAN>
<SPAN >(</SPAN><SPAN >"Copyright 2006, DevMedia"</SPAN><SPAN >, JLabel.CENTER);</SPAN>
<SPAN >copyrt.setFont(</SPAN><B><SPAN >new </SPAN></B><SPAN >Font(</SPAN><SPAN >"Sans-Serif"</SPAN><SPAN >, Font.BOLD, </SPAN><SPAN >12</SPAN><SPAN >));</SPAN>
<SPAN >content.add(label, BorderLayout.CENTER);</SPAN>
<SPAN >content.add(copyrt, BorderLayout.SOUTH);</SPAN>
<SPAN >Color oraRed = </SPAN><B><SPAN >new </SPAN></B><SPAN >Color(</SPAN><SPAN >156</SPAN><SPAN >, </SPAN><SPAN >20</SPAN><SPAN >, </SPAN><SPAN >20</SPAN><SPAN >,  </SPAN><SPAN >255</SPAN><SPAN >);</SPAN>
<SPAN >content.setBorder(BorderFactory.createLineBorder(oraRed, </SPAN><SPAN >10</SPAN><SPAN >));</SPAN>
<SPAN >// Torna visível</SPAN>
<SPAN >setVisible(</SPAN><B><SPAN >true</SPAN></B><SPAN >);</SPAN>

<SPAN >// Espera ate que os recursos estejam carregados</SPAN>
<B><SPAN >try </SPAN></B><SPAN >{ Thread.sleep(duration); } </SPAN><B><SPAN >catch </SPAN></B><SPAN >(Exception e) {}</SPAN>
<SPAN >setVisible(</SPAN><B><SPAN >false</SPAN></B><SPAN >);</SPAN>
<SPAN >}</SPAN>

<B><SPAN >public void </SPAN></B><SPAN >showSplashAndExit() {</SPAN>
<SPAN >showSplash();</SPAN>
<SPAN >System.exit(</SPAN><SPAN >0</SPAN><SPAN >);</SPAN>
<SPAN >}</SPAN>

<B><SPAN >public static void </SPAN></B><SPAN >main(String[] args) {</SPAN>
<SPAN >// Mostra uma imagem com o título da aplicação </SPAN>
<SPAN >SplashScreen splash = </SPAN><B><SPAN >new </SPAN></B><SPAN >SplashScreen(</SPAN><SPAN >10000</SPAN><SPAN >);</SPAN>
<SPAN >splash.showSplashAndExit();</SPAN>
<SPAN >}</SPAN>
<SPAN >}</SPAN>

Artigos relacionados