Ir para conteúdo
Fórum Script Brasil
  • 0

SplashScreen em java


caio.pirino

Pergunta

Pessoal, estou com um problema para inciar a minha tela de splash de minha aplicação. A Classe principal (bolaoJFrame) que estende JFrame e chama a tela de logon que estende JDialog. Depois de validado o usuário eu tento chamar a tela de splash, que deveria rodar enquanto todo o processo de carregamento da principal e feito, mas isso não acontece. Na verdade a tela de splash, só aparece depois que a tela principal aparece e já foi toda carregada.

Alguém pode me dar uma luz de como fazer a tela de splash aparecer depois que o usuário é validado?

Método main da classe principal da aplicação:

 public static void main(String args[]) {
        /* Set the Nimbus look and feel */
        //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
        /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
         * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html 
         */
        try {
            for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
                if ("Nimbus".equals(info.getName())) {
                    javax.swing.UIManager.setLookAndFeel(info.getClassName());
                    break;
                }
            }
        } catch (ClassNotFoundException ex) {
            java.util.logging.Logger.getLogger(bolaoJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (InstantiationException ex) {
            java.util.logging.Logger.getLogger(bolaoJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (IllegalAccessException ex) {
            java.util.logging.Logger.getLogger(bolaoJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (javax.swing.UnsupportedLookAndFeelException ex) {
            java.util.logging.Logger.getLogger(bolaoJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        }
        //</editor-fold>
        

        /* Create and display the form */
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                
                bolaoJFrame principal= new bolaoJFrame();
                principal.setLocationRelativeTo(null);
                login = new loginJDialog(principal, true);
                if(newUser==true){
                    CardLayout cards = (CardLayout)(principal.jpPrincipal.getLayout());
                    cards.show(principal.jpPrincipal, "cadastro");
                }else{
                    if(Usuario.userCriado==0){
                        System.exit(0);
                    }else{
                        
                        Splash telaSplash =new Splash(null);
                        telaSplash.setVisible(true);
                        
                        CardLayout cards = (CardLayout)(principal.jpPrincipal.getLayout());
                        cards.show(principal.jpPrincipal, "apostas");
                        principal.jLabel1.setText("Bem vindo " + user.getUsername());
                        principal.jLabel4.setIcon(new Util().dimencionaImagem(user.getFoto(),80));

                        HoraDoSistema.start(principal.retomaHora(),principal.lbRelagio);
                        principal.montaCards();
                        PanelRanking pr = new PanelRanking(10, 1, user.getUserCod());
                        
                        principal.jpRanking.add(pr,"1");
                        if(pr.getPosUser()>0){
                           principal.lbRankingInfo.setText("Sua posição atual é " + pr.getPosUser() + "º" ); 
                        }
                        if(pr.getPontuacaoUser()>0){
                           principal.lbPontuacaoInfo.setText("Você fez " + pr.getPontuacaoUser()+ " pontos" ); 
                        }                        
                        principal.lbNext.requestFocus();


                        principal.verificaDisponibilidad();
                    }
                }

 
              principal.setVisible(true); 
              


                
            }
        });
    }

classe da tela de splash:

public class Splash extends JWindow {

    private JProgressBar barraDeProgresso;

    public Splash(JFrame owner) {
        //super(owner);
        setLayout(null);
        Util.centralizarJanela(this, 521, 335);
        inicialize();
    }



    public void inicialize(){
        JLabel fundo = new JLabel();
        //fundo.setLocation(new Point(0,0));
        fundo.setIcon(new ImageIcon(getClass().getResource("/Principal/splash.png")));
        fundo.setSize(521, 315);
        add(fundo);

        barraDeProgresso= new JProgressBar();
        barraDeProgresso.setBackground(Color.red);
        barraDeProgresso.setBounds(0, 315, 521, 20);
        barraDeProgresso.setStringPainted(true);
        add(barraDeProgresso);
    }

    public void setValorBarraDeProgresso(int progresso){
        barraDeProgresso.setValue(progresso);
    }

    public int getValorBarraDeProgresso(){
        return barraDeProgresso.getValue();
    }



}

Obrigado

Editado por caio.pirino
Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,2k
×
×
  • Criar Novo...