Fenêtre de chargement

Soyez le premier à donner votre avis sur cette source.

Vue 8 712 fois - Téléchargée 2 164 fois

Description

Cette source permet de créer une fenêtre de chargement de l'application un peu comme celle qui s'affiche au démarrage d'éclipse.

Source / Exemple :


package fr.julien.windowlancement;

import java.awt.BorderLayout;
import java.awt.Color;

import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JProgressBar;
import javax.swing.JWindow;

/**

  • <b>WindowLancement est la classe qui définit la fenêtre de chargement</b>
  • <p>
  • Cette classe est caractérisée par les informations suivantes :
  • <ul>
  • <li>Le nom de l'image à afficher (présente dans le package)</li>
  • <li>Le texte à afficher</li>
  • <li>La couleur du texte</li>
  • <li>La couleur de fond</li>
  • </ul>
  • </p>
  • <p>
  • Cette classe permet de modifier l'avancement du chargement (entre 0 et 100) et
  • permet également de définir un message permettant à l'utilisateur de savoir
  • ce que fait le traitement.
  • </p>
  • @author Julien
  • @version 1.0
*
  • /
public class WindowLancement extends JWindow { private static final long serialVersionUID = -784661957617542324L; /**
  • Lable qui affiche l'opération en cours
  • /
private JLabel liste; /**
  • Barre de progression
  • /
private JProgressBar progressBar; /**
  • <b>Constructeur de WindowLancement</b>
  • @param nomImage
  • Le nom de l'image à afficher
  • (cette image doit être présente dans le package)
  • @param texte
  • Le texte à afficher
  • @param couleurTexte
  • La couleur du texte
  • @param couleur
  • La couleur de fond
  • /
public WindowLancement(String nomImage, String titre, Color couleurTexte, Color couleur){ setLayout(new BorderLayout()); JPanel panelCentre = new PanelFond(nomImage, titre, couleurTexte, couleur); add(panelCentre); JPanel panelSud = new JPanel(new BorderLayout()); panelSud.setOpaque(false); progressBar = new JProgressBar(0, 100); progressBar.setValue(0); progressBar.setStringPainted(false); progressBar.setBackground(couleur); progressBar.setForeground(Color.LIGHT_GRAY); liste = new JLabel(""); liste.setForeground(Color.WHITE); liste.setBackground(couleur); liste.setOpaque(true); panelSud.add(progressBar, BorderLayout.SOUTH); panelSud.add(liste, BorderLayout.CENTER); add(panelSud, BorderLayout.SOUTH); setSize(500, 300); setLocationRelativeTo(null); } /**
  • Procédure qui permet d'avancer d'une étape
  • @param avancement
  • l'avancment en %
  • @param etape
  • le nom de l'étape suivante
  • /
public void avancer(int avancement, String etape){ setInfo(etape); setAvancement(avancement); repaint(); } /**
  • Procédure qui permet de modifier le nom de l'étape
  • @param info
  • Le nom de l'étape
  • /
public void setInfo(String info){ liste.setText(" "+info); } /**
  • Procédure qui permet de modifier l'avancement du programme
  • @param value
  • L'avacement en %
  • /
public void setAvancement(int value){ progressBar.setValue(value); } }

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Messages postés
6413
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
17 mai 2018
286
Salut Pylouq, merci pour ton commentaire.
A+
Utilisateur anonyme
Nickel ! Cela va permettre d'améliorer des classes que j'avais faites pour faire ça :) C'est clair, propre, bref j'adopte !

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.