Publié le 17/08/2010
Auteur Axel
Réseaux sociaux
0 partages
0 tweets
0 plus
0 commentaires

Afficher une barre de progression dans un JFrame

Sur une opération longue comme le téléchargement de fichier ou l'accès à une base de données, il est conseillé d'afficher une fenêtre d'attente. Ainsi l'utilisateur verra la progression de l'opération et sait quand le résultat va s'afficher à l'écran.

Créer une fenetre de progression

Pour l'exemple, nous allons construire un JFrame contenant une JProgressBar qui affiche l'avancement de l'opération de 0 à 100 pourcent. La tache longue est simulée avec une boucle et un Sleep.

import java.awt.FlowLayout;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JProgressBar;
 
/**
 * Afficher une barre de progression dans un JFrame
 * @see http://www.fobec.com/java/966/afficher-une-barre-progression-dans-jframe.html
 * @author Axel 2010
 */
public class ProgressDialog extends JFrame {
 
    public JProgressBar progressbar;
 
    /**
     * Constructeur
     */
    public ProgressDialog() {
        super();
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        this.setLocationRelativeTo(null);
        JPanel pane = new JPanel();
        pane.setLayout(new FlowLayout());
        progressbar = new JProgressBar(0, 100);
        progressbar.setValue(0);
        progressbar.setStringPainted(true);
        pane.add(progressbar);
        setContentPane(pane);
    }
 
    /**
     * Afficher la progression de tache
     */
 
    public void loop() {
        int position = 0;
        while (position < 105) {
            progressbar.setValue(position);
            try {
                Thread.sleep(500);
            } catch (InterruptedException e) {
            }
            position += 5;
        }
    }
 
    /**
     * Exemple
     * @param arguments 
     */
    public static void main(String[] arguments) {
        ProgressDialog frame = new ProgressDialog();
        frame.pack();
        frame.setVisible(true);
        frame.loop();
    }
}

Cet exemple a pour but de montrer comment agir sur l'avancement de la JProgressBar, à savoir faire avancer la progression de 0 à 100 pourcent. Effectivement, le système de fenetre d'attente pourra être améliorer avec un Thread pour éviter les sacades.

Ajouter un commentaire

Les champs marqués d'un * sont obligatoires, les adresses emails se sont pas publiées.

A lire aussi

Réseaux sociaux
Présentation de l'article
Catégorie
java - sources
Mise a jour
17/08/2010
Visualisation
vu 3039 fois
Public
Internaute
Auteur de la publication
Axel
Membre junior
Auteur de 51 articles
|BIO_PSEUDO|
Commentaires récents

Publié par Michael dans tuto

Merci pour ce partage, ca m'a ete tres utile pour une application hta que j'ai developper pour mon travail.
Peut etre modifier le script afin de creer des graphiques differentes (en forma...

Publié par Axel dans java

la position sur mouseDragged a ete corrigee dans l'article.
Merci Alpcom !

Publié par web agency cms Typo3 dans tuto

De nombreux articles sur le web parlent des CMS (Content Management System) et tentent de lister les meilleurs d'entres-eux.
Mais très souvent, sauf quelques rares libres blancs, ces article...

Publié par jadu dans tuto

Et comment met-on en route Xinha lorsque l'extension a été chargée dans Firefox ?????

je n'ai rien trouvé !!!

Publié par fobec dans logiciel

MAJ: mise en cache du FAI et optimisation du script de Geolocalisation.