Splash no Netbenas?

6 respostas
vinihds

bom dia galera…

seguinte…eu tfiz um programa no GEL q usa Splash ( inclusive eu peguei o tutorial aqui ), mas quando eu fui fazer no NetBeans, nao funciona…alguem sabe me dizer o pq disso ? e como q faço para arrumar esse problema ?

6 Respostas

wamarra

Bom dia,

Meu caro vinihds,

Eu fiz uma Splash aqui com o NetBeans que funciona perfeitamente.

O código é o seguinte:
/**
     * ------------------------------------------------
     * Início da tela de Splash Screen
     * ------------------------------------------------
     */
    public static class Splash extends Window {   
        // Imagem que ira aparecer no Splash   
        private final String imgName = "SplashScreen.jpg";   
        Image splashImage;   
        Toolkit toolkit;   
        private static Splash splash;   
  
        // Singleton pra garantir apenas uma unica instancia na memoria   
        static {   
            splash = new Splash();   
        }   
  
        private Splash(){   
            super(new Frame());      
            setVisible(false);   
  
            splashImage = null;   
            toolkit = Toolkit.getDefaultToolkit();   
        }   
  
        public static Splash getInstance(){   
            return splash;   
        }  
  
        /**  
        * Method initSplash.  
        */   
        private void initSplash(){   
        // Carrega a imagem na memoria   
        MediaTracker media = new MediaTracker(this);   
        splashImage = toolkit.getImage(imgName);   
  
            if (splashImage != null) {   
                media.addImage(splashImage, 0);   
  
                try {   
                    media.waitForID(0);   
                }catch (InterruptedException ie) {
                }
            }   
  
            // Configura o tamanho do splash e a posicao na tela   
            setSize(splashImage.getWidth(this), splashImage.getHeight(this));   
  
            Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();   
            Dimension size = getSize();   
  
                if (size.width > screenSize.width)   
                size.width = screenSize.width;   
  
                if (size.height > screenSize.height)   
                size.height = screenSize.height;   
  
            setLocation((screenSize.width - size.width) / 2, (screenSize.height - size.height) / 2);   
            setVisible(true);   
        }   
  
        public void openSplash(){   
            setCursor(new Cursor(Cursor.WAIT_CURSOR));   
            initSplash();   
        }   
  
        public void finish(){   
            setVisible(false);   
            dispose();   
        }  
        public void paint(Graphics g) {
            // Apenas desenha a imagem
            g.drawImage(splashImage, 0, 0, getBackground(), this);  
        } 
    }
    private static class Botoes extends JFrame{   
    JButton botao;   
    JFrame frame;   
    JPanel panel;   
  
        /**  
        * Construtor da aplicacao principal.  
        * Simula um load demorado com um loop, para mostrar que  
        * a tela Splash realmente aparece enquanto a aplicacao  
        * principal eh carregada.  
        * */   
        public Botoes(){   
            for (int i = 0; i < 9000; i++)   
                System.out.println("");   
  
            frame = new JFrame("Botoes");   
            panel = new JPanel();   
  
            panel.setLayout(new GridLayout(4, 1));   
  
            botao = new JButton("Aplicacao inicializada");   
            botao.addActionListener(new ActionListener(){   
                public void actionPerformed(ActionEvent e){   
                    System.exit(0);   
                }   
            });   
  
            panel.add(botao);   
  
            frame.getContentPane().add(panel, BorderLayout.CENTER);   
            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);   
        }   
  
        public void initApplication(){   
            frame.pack();   
            Splash.getInstance().finish();   
        }   
    } 
    /**
     * ---------------------------------------------------
     * Término da tela de Splash Screen
     * ---------------------------------------------------
     */
E no método main:
Splash.getInstance().openSplash();   
        Botoes b = new Botoes();   
        b.initApplication();
Peguei esse exemplo aqui mesmo nos Tutoriais do GUJ e fiz algumas mudanças

Espero ter ajudado

T+

vinihds

entao…eu fiz praticamente a mesma coisa q vc fez, mas nao funciona.

sendo eu to usando o proprio habiente grafico do netbeans…será q pode ser isso q esta atrapalhando ???

wamarra

Post o se código aqui para que passamos analiza-lo

vlw!?

vinihds

eu substitui pelo seu…e tb nao funcionou

vinihds

ha … cansei de ficar tentando…

vou fazer o splash na unha usando um form normal…

valeu

wamarra

Cara a persistencia tem que prevalecer,

Post a parte do código para que possamos ajuda-lo

Vlw :smiley:

Abraços

Criado 17 de novembro de 2007
Ultima resposta 17 de nov. de 2007
Respostas 6
Participantes 2