begin process at 2010 02 10 00:30:08
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Divers

 > SPLASH SCREEN AVEC JPROGRESSBAR

SPLASH SCREEN AVEC JPROGRESSBAR


 Information sur la source

Note :
7,5 / 10 - par 2 personnes
7,50 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Divers Classé sous :splashscreen, splash, jprogressbar, progression, chargement Niveau :Débutant Date de création :02/06/2007 Vu :7 403

Auteur : tlaloctzin

Ecrire un message privé
Ce membre participe au partage de revenus publicitaires
Commentaire sur cette source (5)
Ajouter un commentaire et/ou une note


 Description

Cliquez pour voir la capture en taille normale
Comme je n ai trouvé aucun SplashScreen avec une JProgressBar pour indiquer l'état de l avancement j'ai décidé de poster le mien .
Il peut largement etre amélioré avec , par exemple un mediatracker sur le panel pour couvrir le panel de l'image .
On verra ca plus tard :p

Pour l'utiliser il faut détérminer la vitesse dans la methode run();
Puis caster

Splash splash =
               new Splash(String pathImage , String messageToDisplay , String pathIconeFrame);

Et voila :)

Source

  • /*
  • *
  • *@Author Adrien PARENTY
  • *
  • */
  • import java.awt.event.*;
  • import java.awt.*;
  • import javax.swing.*;
  • public class Splash
  • {
  • JProgressBar progress;
  • Thread thread;
  • public static JFrame frame;
  • public static void main(String[] args){
  • new Splash("Logo.gif","E.A.S.\u03A8 Version 1.0 Chargement...","icone.gif");//Path de l'image qu'on veut ,message,ainsi que l icone de la fenetre
  • }
  • public Splash(String imgPath, String message,String icone)
  • {
  • frame =
  • new JFrame("Chargement");
  • frame.setIconImage(
  • Toolkit.getDefaultToolkit().getImage(icone));//icone de la Jframe
  • JPanel panel =
  • new JPanel();
  • panel.setBackground(
  • new Color(124,125,235));//Couleur de fond du Panel
  • panel.setSize(450,250);
  • panel.setBounds(0,0,450,250);
  • JLabel texte =
  • new JLabel(message);//Texte de la String
  • texte.setForeground(Color.ORANGE);
  • JLabel img =
  • new JLabel();
  • img.setIcon(
  • new ImageIcon(imgPath));
  • progress =
  • new JProgressBar(0, 100);
  • panel.setBorder(
  • BorderFactory.createLineBorder(Color.BLACK));
  • progress.setStringPainted(true);
  • //ajout des éléments
  • panel.add("North",img);
  • panel.add("North",texte);
  • panel.add("East",progress);
  • frame.getContentPane().add(BorderLayout.CENTER, panel);
  • frame.setSize(450,250);
  • //Pour définir le Splash au milieu de l'écran'
  • Dimension screen = Toolkit.getDefaultToolkit().getScreenSize();
  • frame.setLocation((screen.width - frame.getSize().width)/2,(screen.height - frame.getSize().height)/2);
  • // pour que ca ai vraiement l air d un splash :p
  • frame.setUndecorated(true);
  • frame.setVisible(true);
  • frame.setResizable(false);
  • //Retaillage de la barre pour qu elle corresponde a la taille de la frame
  • progress.setBounds(new Rectangle(10,220,430,20));
  • // Création de thread pour afficher la progression de la barre
  • thread =
  • new Thread(
  • new Progression());
  • thread.start();
  • //On peut ajouter un Thread d'une classe de traitement qui implemente un Runnable
  • //et les switcher.
  • }
  • public class Progression implements Runnable
  • {
  • public void run()
  • {
  • for (int j = 1; j < 100; j++)
  • {
  • progress.setValue(j);
  • progress.setString(j+" %");
  • try
  • {
  • thread.sleep(40);//determination de la rapiditée de la frame
  • }
  • catch(Exception e)
  • {
  • e.printStackTrace();
  • frame.dispose();//en cas d' erreur pour pas rester bloqué sur le splash
  • }
  • }
  • frame.dispose(); //fermeture de la frame lorsque le chargement est teminé
  • }
  • }
  • }
/*
 *
 *@Author Adrien PARENTY
 *
 */

import java.awt.event.*; 
import java.awt.*; 
import javax.swing.*; 
  
public  class Splash
	{
    
	JProgressBar progress;
	Thread thread;
	
	public static JFrame frame;
		
 public static void main(String[] args){
            
          new  Splash("Logo.gif","E.A.S.\u03A8 Version 1.0 Chargement...","icone.gif");//Path de l'image qu'on veut ,message,ainsi que l icone de la fenetre
            
        }
		public Splash(String imgPath, String message,String icone)
			{
				
				
			frame = 
                              new JFrame("Chargement");
                        frame.setIconImage(
                              Toolkit.getDefaultToolkit().getImage(icone));//icone de la Jframe
                        JPanel panel = 
                             new JPanel();
                        panel.setBackground(
                                  new Color(124,125,235));//Couleur de fond du Panel
                        panel.setSize(450,250);
                        panel.setBounds(0,0,450,250);
			JLabel texte = 
                                new JLabel(message);//Texte de la String 
                        texte.setForeground(Color.ORANGE);
                        JLabel img = 
                               new JLabel();
                        img.setIcon(
                                 new ImageIcon(imgPath));
			progress =
                             new JProgressBar(0, 100); 
                                
                        panel.setBorder(
                            BorderFactory.createLineBorder(Color.BLACK));
                        progress.setStringPainted(true);
                                
                       //ajout des éléments
                       panel.add("North",img);
                       panel.add("North",texte);
                       panel.add("East",progress); 
                       frame.getContentPane().add(BorderLayout.CENTER, panel);
		       frame.setSize(450,250);
                   //Pour définir le Splash au milieu de l'écran'
                        Dimension screen = Toolkit.getDefaultToolkit().getScreenSize();
                        frame.setLocation((screen.width - frame.getSize().width)/2,(screen.height - frame.getSize().height)/2);
                     // pour que ca ai vraiement l air d un splash :p
                	frame.setUndecorated(true);
                        frame.setVisible(true);
			frame.setResizable(false);
                        //Retaillage de la barre pour qu elle corresponde a la taille de la frame
			progress.setBounds(new Rectangle(10,220,430,20));
			// Création de thread pour afficher la progression de la barre
                                     thread =
                                            new Thread(
                                              new Progression());
                                                thread.start();
                                //On peut ajouter un Thread d'une classe de traitement qui implemente un Runnable
                                //et les switcher.                
                                                
                                               
			}
		public class Progression  implements Runnable
			{
			public void run()
				{
					for (int j = 1; j < 100; j++) 
						{
							progress.setValue(j);
                                                        progress.setString(j+" %");
							try
							{
							thread.sleep(40);//determination de la rapiditée de la frame
							}
						catch(Exception e)
							{
                                                                e.printStackTrace();
                                                                frame.dispose();//en cas d' erreur pour pas rester bloqué sur le splash
							}
						}

						frame.dispose(); //fermeture de la frame lorsque le chargement est teminé
                                                
				}
			}
	} 
  



 Sources du même auteur

Source avec une capture GRAPHIQUE EN BÂTON
Source avec une capture TEXTE ROTATIF JAVA 3D
Source avec Zip FRAME AVEC FONDS SUR NETBEANS EN CONSERVANT LE GUI EDITOR

 Sources de la même categorie

Source avec Zip Source avec une capture TRADUCTEUR FRANÇAIS --> NERLANDAIS par edouard333
Source avec Zip IA POUR DISCUTER par edouard333
Source avec Zip Source avec une capture JSUBTITLE1.0 par darrylsite
Source avec Zip COMPILATEUR PASCAL par youma85
Source avec Zip CONTENEUR DE COMPOSANT HETEROGENES par mad_charif

 Sources en rapport avec celle ci

Source avec une capture JPROGRESSBAR SIMPLE D'UTILISATION. par bygui
Source avec Zip Source avec une capture EXEMPLE D'UTILISATION DE JPROGRESSBAR - BARRE DE PROGRESSION par GillesWebmaster
Source avec Zip Source avec une capture PROGRESSBAR SYNCHRONISEE par dmaillet
CHARGEMENT ET AFFICHAGE IMAGE SOUS APPLET par Juls
EVÈNEMENT D'INTERACTION DE BARRE DE PROGRESSION par Mikonyx

Commentaires et avis

Commentaire de GillesWebmaster le 02/06/2007 19:13:56

Code propre et très utile!
Bravo!

Commentaire de darthpolor_I le 02/06/2007 20:42:53

Salut,

Il me semble bien que c'est pas une "vraie" barre de chargement
puisque c'est ton splash lui meme qui met a jour la progress bar
(Thread.sleep(40))
Ca n'indique donc pas un temps de chargement pour une etape de la construction de l'application

DarthPolor / PeGyDeuzHem

Commentaire de tlaloctzin le 02/06/2007 21:32:56

Salut ,
ca s est pour l exemple , libre a toi de créer un autre thread pr un chargment ( c' est ce que j ai fais dans mon appli ) ,

puis tu switch les thread et assigne la valeure de la barre quand ton opération se termine .

je posterais l'exemple quand j'aurais terminé le projet sur lequel je bosse .

Commentaire de GillesWebmaster le 03/06/2007 07:18:48

On se réjouis
P.S: note: 10/10!!!

Commentaire de GodConan le 24/06/2007 23:43:18

Source quelque peu obsolete depuis le JDK 1.6 qui integre deja une class SplashScreen il suffi juste d y coler une progresse bar..

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Barre de progression [ par EducJava ] Salut,J'ai entendu dire qu'il était très simple de faire afficher une barre de progression. Est-ce que l'on doit avoir un thread pour faire cela? Qu'e JProgressBar [ par didoux95 ] Bonjour a tous, j'ai un petit probleme avec la JProgressBar. je n'arrive pas a la faire "avancer".Voila le code que j'utilise:JProgressBar Progression JProgressBar [ par Herv59 ] Bonjour,Je souhaite créer une barre de progression d'attente.C'est à dire que tant que l'action n'est pas terminé, la barre continue de progresser.Ma Rendre le remplissage d'une JProgressBar crénelé [ par Voltrek ] Le remplissage des JProgressBar apparait crénelé (c'est à dire comme une succession de petits rectangles, si vous voyez ce que je veux dire). J'aimera JProgressBar [ par Javanewbi ] BonjourJe voudrais savoir comment faire pour que la JProgressBar se charge jusqu'a que la fenetre s'affiche.Merci. chargement d'un fichier MD3 [ par gouessej ] BonjourJ'utilise JOGL et Java évidemment pour charger et afficher des modèles animés au format MD3. J'avais réussi à trouver un code tout fait pour le attendre le chargement d'une page html [ par mimou01 ] salut,est ce qu'il ya une façon qui me permet d'attendre le chargement total d'une page web,En fait, j'ai besoin d'effectuer des traitement sur cette Problème de Threads [ par ch0upette ] Salut,Alors voilà, j'ai une fenêtre qui après un clic sur bouton en ouvre une seconde.Mais l'ouverture de cette seconde est très lente car elle doit c JProgressBar [ par gadour_esz ] salut,svp ,comment je peut l'utuliser le threads pour sychroniser entre deux instruction dans un programme java.Dans mon cas je suis entrain de prépar Erreur croix rouge au chargement d'applet [ par clacout ] Lorsque je me connecte sur certains site web j'ai un BUG de JavaImage X croix rouge s'affichant à l'endroit où doit se trouver l'applet. Les applets n


Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,796 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales