Accueil > > > SPLASH SCREEN AVEC JPROGRESSBAR
SPLASH SCREEN AVEC JPROGRESSBAR
Information sur la source
Description
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
Sources de la même categorie
Commentaires et avis
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
|
Derniers Blogs
UNE JOLIE-HORLOGE ET PAS QU'UN PEU !UNE JOLIE-HORLOGE ET PAS QU'UN PEU ! par neodante
Pour les possesseurs d'iPhone, ça y est Bijin Tokei - qui se traduit littéralement en Français par " Jolie Horloge " - est arrivé et GRATUITEMENT s'il vous plaît ! Après la version Tokyo, Hokkaido, night club, racing, Gal, "pour les mademoiselles'", . voi...
Cliquez pour lire la suite de l'article par neodante TECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICESTECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICES par ROMELARD Fabrice
Animé par: Gaetan Bouveret et Julien Chomarat Business Connectivity Services (BCS) est dans SharePoint 2010 la version 2 de Business Data Catalog (BDC dans SharePoint 2007). Il s'agit de la solution permettant de visualiser des données provenan...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice [DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE[DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE par orion
Comme de nombreux geek, je suis un grand amateur de série TV et je rate régulièrement des épisodes de mes séries préférés. Une solution s'offre à vous avec ce merveilleux site : Tv Gorge - www.tvgorge.com Moteur de recherche à l'appui, vous pouvez ...
Cliquez pour lire la suite de l'article par orion TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010 par ROMELARD Fabrice
Animé par: Vincent Bellet et Baptiste Giraudier La BI dans SharePoint 2010, Les nouveaux services d'application dans SP2010 et SQL Server Reporting services 2008 R2. La BI dans SharePoint est généralisée pour tous afin de permettre à tous les coll...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
DB-MAIN (9.1.0)DB-MAIN (9.1.0)DB-MAIN is a data-modeling and data-architecture tool. It is designed to help developers and anal... Cliquez pour télécharger DB-MAIN Xilisoft DPG Convertisseur (5.1.37.0120)XILISOFT DPG CONVERTISSEUR (5.1.37.0120)Xilisoft DPG Convertisseur offre aux fans de Nintendo DS une bonne solution leur permettant de dé... Cliquez pour télécharger Xilisoft DPG Convertisseur GraphicsGale (2.01.01)GRAPHICSGALE (2.01.01)GraphicsGale est un logiciel de PixelArt avec de nombreuse fonctionnalités permettant de réalisé ... Cliquez pour télécharger GraphicsGale Architecte 3D (Platinum 2010)ARCHITECTE 3D (PLATINUM 2010)Architecte 3D Platinium vous permet de concevoir facilement les plans votre future maison, de l'é... Cliquez pour télécharger Architecte 3D TeamViewer 5 (TeamViewer 5)TEAMVIEWER 5 (TEAMVIEWER 5)Dépanner un ami,expliquer une manipulation devient un jeu d'enfant.
Prise en main d'un autre ord... Cliquez pour télécharger TeamViewer 5
|