Splash qui dépend de chargement
Salut tout le monde,
j'ai essayé de faire un Splash Screen pour une application ,
voilà le code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
| public class Splash extends JFrame{
private JProgressBar progressBar;
public Splash(String file){
JLabel img=new JLabel(new ImageIcon(file));
this.getContentPane().add(img, BorderLayout.CENTER);
progressBar=new JProgressBar();
progressBar.setStringPainted(true);
progressBar.setIndeterminate(true);
progressBar.setPreferredSize(new Dimension(556,15));
JPanel panProgress=new JPanel();
panProgress.setLayout(new BorderLayout());
panProgress.add(progressBar,BorderLayout.CENTER);
panProgress.setBounds(195,275,400,10);
this.getContentPane().add(panProgress,BorderLayout.SOUTH);
this.setSize(626,330);
this.setLocationRelativeTo(null);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
final int pause = 5000;
// thread pour fermer le splash screen
final Runnable closerRunner = new Runnable() {
public void run() {
setVisible(false);
dispose();
}
};
Runnable waitRunner = new Runnable() {
public void run() {
try {
Thread.sleep(pause);
//lance le thread qui ferme le splash screen
SwingUtilities.invokeAndWait(closerRunner);
} catch (Exception e) {
e.printStackTrace(); }
}
};
//affiche le splash screen
this.setVisible(true);
//lance le thread qui ferme le splash screen apres un certain temps
Thread splashThread = new Thread(waitRunner, "SplashThread");
splashThread.start();
}
} |
comme vous voyez le splash s'affiche pour un nombre de millisecondes données , la question c'est comment je peut le lier au chargement de l'application