Advertisement
Guest User

Untitled

a guest
Jan 25th, 2015
184
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.68 KB | None | 0 0
  1. import java.awt.BorderLayout;
  2. import java.awt.Container;
  3. import java.awt.Font;
  4. import java.awt.event.ActionListener;
  5.  
  6. import javax.swing.JFrame;
  7. import javax.swing.JLabel;
  8. import javax.swing.JOptionPane;
  9. import javax.swing.JPanel;
  10. import javax.swing.JProgressBar;
  11. import javax.swing.JWindow;
  12. import javax.swing.Timer;
  13.  
  14. import java.nio.file.*;
  15.  
  16. public class SplashScreen extends JWindow {
  17.  
  18. private static JProgressBar progressBar = new JProgressBar(); // barre de progression
  19. private static int compteur = 1; // compteur pour le pourcentage
  20. private static int TIMER_PAUSE = 25; // temps pendant lequel le timer attend / ++ = plus long
  21. private static int PROGBAR_MAX=100; // pourcentage max de la barre de progression
  22. private static Timer progressBarTimer; // objet Timer pour attendre
  23. ActionListener al = new ActionListener() {
  24.  
  25. @Override
  26. public void actionPerformed(java.awt.event.ActionEvent evt) // a chaque fois que le timer attend la periode donnee,cette methode est invoquee
  27. {
  28. progressBar.setValue(compteur); // on fait varier le pourcentage du compteur
  29. progressBar.setString(compteur + "%"); // puis on l'affiche
  30. if (PROGBAR_MAX == compteur) // si on a fini de compter
  31. {
  32. progressBarTimer.stop(); // on arrete le timer quand on a finin
  33. LancerLaunchpad(); // puis on lance le launchpad
  34. }
  35. compteur++;//incremente le compteur
  36.  
  37. }
  38. };
  39.  
  40. public SplashScreen() {
  41. creerSplash(); // creation du splash screen
  42. }
  43.  
  44. private void creerSplash()
  45. {
  46. Container container = getContentPane();
  47.  
  48. JPanel panel = new JPanel(); // creation du panel
  49. panel.setBorder(new javax.swing.border.EtchedBorder());
  50. container.add(panel, BorderLayout.CENTER);
  51.  
  52. JLabel label = new JLabel("Launchpad"); // creation d'un label contenant le titre du pourcentage
  53. label.setFont(new Font("Verdana", Font.BOLD, 14));
  54. panel.add(label); // ajout au panel
  55.  
  56. progressBar.setMaximum(PROGBAR_MAX);
  57. container.add(progressBar, BorderLayout.SOUTH);
  58. progressBar.setStringPainted(true); // on autorise la possibilitee d'afficher un string dans la barre de progression
  59.  
  60. pack();
  61. setLocationRelativeTo(null);
  62. setVisible(true);
  63.  
  64. DemarrerTimer();
  65. }
  66.  
  67. private void DemarrerTimer()
  68. {
  69. progressBarTimer = new Timer(TIMER_PAUSE, al); // creation du timer
  70. progressBarTimer.start(); // puis demarrage
  71. }
  72.  
  73. private void LancerLaunchpad()
  74. {
  75. this.dispose(); // ferme la fenetre
  76. boolean res_okay=false;
  77.  
  78. if (Files.isDirectory(Paths.get("MP3/")) && Files.isRegularFile(Paths.get("JPG/imageFond.jpg")) ) // on verifie que le repetoire mp3 existe et l'existance de l'image de fond
  79. {
  80. res_okay = true;
  81. }
  82.  
  83. if( res_okay == true)
  84. {
  85. JFrame fenetre = new Window(); // creation d'une instance de note fenetre principale
  86. fenetre.setSize(500, 500);
  87. fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  88. fenetre.setVisible(true);
  89. }
  90. else
  91. {
  92. JOptionPane.showMessageDialog(this, "Impossible de charger les fichiers ressources","Erreur",JOptionPane.ERROR_MESSAGE);
  93. }
  94. }
  95. }import java.awt.BorderLayout;
  96. import java.awt.Container;
  97. import java.awt.Font;
  98. import java.awt.event.ActionListener;
  99.  
  100. import javax.swing.JFrame;
  101. import javax.swing.JLabel;
  102. import javax.swing.JOptionPane;
  103. import javax.swing.JPanel;
  104. import javax.swing.JProgressBar;
  105. import javax.swing.JWindow;
  106. import javax.swing.Timer;
  107.  
  108. import java.nio.file.*;
  109.  
  110. public class SplashScreen extends JWindow {
  111.  
  112. private static JProgressBar progressBar = new JProgressBar(); // barre de progression
  113. private static int compteur = 1; // compteur pour le pourcentage
  114. private static int TIMER_PAUSE = 25; // temps pendant lequel le timer attend / ++ = plus long
  115. private static int PROGBAR_MAX=100; // pourcentage max de la barre de progression
  116. private static Timer progressBarTimer; // objet Timer pour attendre
  117. ActionListener al = new ActionListener() {
  118.  
  119. @Override
  120. public void actionPerformed(java.awt.event.ActionEvent evt) // a chaque fois que le timer attend la periode donnee,cette methode est invoquee
  121. {
  122. progressBar.setValue(compteur); // on fait varier le pourcentage du compteur
  123. progressBar.setString(compteur + "%"); // puis on l'affiche
  124. if (PROGBAR_MAX == compteur) // si on a fini de compter
  125. {
  126. progressBarTimer.stop(); // on arrete le timer quand on a finin
  127. LancerLaunchpad(); // puis on lance le launchpad
  128. }
  129. compteur++;//incremente le compteur
  130.  
  131. }
  132. };
  133.  
  134. public SplashScreen() {
  135. creerSplash(); // creation du splash screen
  136. }
  137.  
  138. private void creerSplash()
  139. {
  140. Container container = getContentPane();
  141.  
  142. JPanel panel = new JPanel(); // creation du panel
  143. panel.setBorder(new javax.swing.border.EtchedBorder());
  144. container.add(panel, BorderLayout.CENTER);
  145.  
  146. JLabel label = new JLabel("Launchpad"); // creation d'un label contenant le titre du pourcentage
  147. label.setFont(new Font("Verdana", Font.BOLD, 14));
  148. panel.add(label); // ajout au panel
  149.  
  150. progressBar.setMaximum(PROGBAR_MAX);
  151. container.add(progressBar, BorderLayout.SOUTH);
  152. progressBar.setStringPainted(true); // on autorise la possibilitee d'afficher un string dans la barre de progression
  153.  
  154. pack();
  155. setLocationRelativeTo(null);
  156. setVisible(true);
  157.  
  158. DemarrerTimer();
  159. }
  160.  
  161. private void DemarrerTimer()
  162. {
  163. progressBarTimer = new Timer(TIMER_PAUSE, al); // creation du timer
  164. progressBarTimer.start(); // puis demarrage
  165. }
  166.  
  167. private void LancerLaunchpad()
  168. {
  169. this.dispose(); // ferme la fenetre
  170. boolean res_okay=false;
  171.  
  172. if (Files.isDirectory(Paths.get("MP3/")) && Files.isRegularFile(Paths.get("JPG/imageFond.jpg")) ) // on verifie que le repetoire mp3 existe et l'existance de l'image de fond
  173. {
  174. res_okay = true;
  175. }
  176.  
  177. if( res_okay == true)
  178. {
  179. JFrame fenetre = new Window(); // creation d'une instance de note fenetre principale
  180. fenetre.setSize(500, 500);
  181. fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  182. fenetre.setVisible(true);
  183. }
  184. else
  185. {
  186. JOptionPane.showMessageDialog(this, "Impossible de charger les fichiers ressources","Erreur",JOptionPane.ERROR_MESSAGE);
  187. }
  188. }
  189. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement