Salut tout le monde,
j'ai essayé de faire un Splash Screen pour une application ,
voilà le code :
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
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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(); } }
Partager