Comment pré-charger une appli. dans un splash screen

Comment pré-charger une appli. dans un splash screen - Java - Programmation

Marsh Posté le 22-05-2009 à 04:18:02    

Bonjour,
 
J'aimerai mettre en place un splash screen lors du chargement de mon application, le problème c'est que j'arrive pas à voir comment faire pour "pré-charger" mon application dans la splash screen.
 
Voilà le code que j'ai actuellement, un splash screen s'affiche correctement le soucis c'est qu'il sert à rien là :
 

Code :
  1. public class Progress extends JWindow{
  2.     private Thread t;
  3.     private JProgressBar bar;
  4.     private Fond img;
  5.     private JLabel texte = new JLabel();
  6.    
  7.     public Progress(){
  8.        
  9.         this.setSize(300, 320);
  10.         this.setLocationRelativeTo(null);
  11.        
  12.         t = new Thread(new Traitement());
  13.         bar = new JProgressBar(0,100);
  14.         bar.setStringPainted(true);
  15.        
  16.         img = new Fond();
  17.        
  18.         this.setContentPane(img);
  19.         img.setLayout(new BorderLayout());
  20.    
  21.         img.add(bar,BorderLayout.SOUTH);
  22.         img.add(texte,BorderLayout.NORTH);
  23.         t.start();   
  24.         this.setVisible(true);       
  25.     }
  26.     // test.setVisible(true);
  27.     class Traitement implements Runnable{
  28.    
  29.         public void run(){
  30.             texte.setText("Chargement...";);
  31.             for(int val = 0; val <= 100; val++){
  32.                 bar.setValue(val);
  33.                 try {
  34.                     t.sleep(100);
  35.                 } catch (InterruptedException e) {
  36.                     // TODO Auto-generated catch block
  37.                     e.printStackTrace();
  38.                 }
  39.             }
  40.         }   
  41.     }
  42.    
  43. }


Admettons que mon appli. c'est princiapalement la classe JGestion (contenant donc l'IHM), comment je peux "pré-charger" cette classe dans mon splash screen histoire que dés l'instant où JGestion est chargé, mon splash screen disparait et l'IHM de JGestion est affiché.


Message édité par manu f le 22-05-2009 à 04:19:34

---------------
Pire qu'une pierre dans la chaussure, est un grain de sable dans la capote.  Coluche.
Reply

Marsh Posté le 22-05-2009 à 04:18:02   

Reply

Marsh Posté le 22-05-2009 à 04:39:40    

Je viens peut-être de trouver une alternative, dans le constructeur de ma classe JGestion (le constructeur se charge d'initialiser l'IHM) je fais un truc de ce genre :
 

Code :
  1. private Progresse p;
  2. public JGestion() {
  3.   p = new Progress();
  4.   //initialisation de mon IHM etc...
  5.   p.setVisible(false);
  6.   this.setVisible(true);
  7. }


Le problème avec ça c'est que c'est du bidouillage, de plus "p" est simplement cacher ce qui fait que je libère pas les ressources et l'avancement de ma JProgressBar n'est pas cohérente avec le temps que met l'application à se charger.


---------------
Pire qu'une pierre dans la chaussure, est un grain de sable dans la capote.  Coluche.
Reply

Marsh Posté le 25-05-2009 à 09:45:10    

Swing gère un splash screen depuis Java 6.
Regarde ici:
 http://java.sun.com/developer/technicalArticles/J2SE/Desktop/javase6/splashscreen/


---------------
Light is right
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed