Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

caezar

splashScreen em java

Recommended Posts

Pessoal, estou com um problema para inciar a minha tela de splash de minha aplicação. A Classe principal (bolaoJFrame) que extende JFrame e chama a tela de logon que extende 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 pricipal aparece e já foi toda carregada.

 

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

 

Metodo main da classe pricipal 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{ 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(); } }

Compartilhar este post


Link para o post
Compartilhar em outros sites

Diagramando o post corretamente, pois não consegui alterar o post inicial:

 

 

Pessoal, estou com um problema para inciar a minha tela de splash de minha aplicação. A Classe principal (bolaoJFrame) que extende JFrame e chama a tela de logon que extende 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 pricipal aparece e já foi toda carregada.

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

Metodo main da classe pricipal 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

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.