OBS: ANTES VÁ A BIBLIOTECA E ADICIONA O (Layout absoluto), e pronto.
//MAIN splash!
import java.awt.Dimension;
import java.awt.Image;
import java.util.Locale;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.ImageIcon;
import javax.swing.JLabel;
import javax.swing.JProgressBar;
import javax.swing.JWindow;
import org.netbeans.lib.awtextra.AbsoluteConstraints;
import org.netbeans.lib.awtextra.AbsoluteLayout;
public class splash extends JWindow
{
AbsoluteLayout absoluto;
AbsoluteConstraints absimage, absbarra;
ImageIcon image;
JLabel jlabel;
JProgressBar barra;
public splash()
{
absoluto = new AbsoluteLayout();
absimage = new AbsoluteConstraints(0,0);
//(0,0) indica o tamanho das imagens, veja no windows o tamanho dela e coloque ai nas proporções.
absbarra = new AbsoluteConstraints(0,309);
jlabel = new JLabel();
image = new ImageIcon(this.getClass().getResource("imagem.jpg"));
jlabel = new JLabel();
//setando a imagem gif de loading.
jlabel.setIcon("image.gif");
barra = new JProgressBar();
barra.setPreferredSize(new Dimension(0,10));
this.getContentPane().setLayout(absoluto);
this.getContentPane().add(jlabel,absimage);
this.getContentPane().add(barra,absbarra);
new Thread()
{
public void run(){
int i=0;
while (i<101) {
barra.setValue(i);
i++;
try {
//sleep (tempo em segundos para abrir - cada segundo = 60 milésimo / 50 segundos = contagem progressiva! ).
sleep(50);
} catch (InterruptedException ex)
{
Logger.getLogger(splash.class.getName()).log(Level.SEVERE, null, ex);
}
}
//Tela que queira chamar.
new CalculadoraTELA().show();
}
}.start();
this.pack();
this.setVisible(true);
/*Setando o local da tela a ser aberto:
sendo: "this.setLocationRelativeTo(null);" o null indica o centro!*/
this.setLocationRelativeTo(null);
AbsoluteConstraints absimage, absbarra;
}
public static void main(String args[]){
//abrindo a imagem de boas vindas - sobe no metodos acima^.
new splash();
//apos feito os metodos, ele vem para essa nova chamada, e fecha a imagem de boas vindas.
new splash().dispose();
}
}
}