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 4935 fois
Public
Internaute
Auteur de la publication
Axel
Membre junior
Auteur de 51 articles
|BIO_PSEUDO|
Commentaires récents

Publié par Souti dans php5

Merci pour ce code. Trs utile.

Pour mon cas, il a fallu que j'ajoute une } avant ?> le pour fermer le for each.

Publié par pat59 dans CMS

j espere que le jeu vas fonctionner car vous le donnez mais il est bloqué snifff

Publié par revente lmnp dans logiciel

J'aimerais avoir plus d'informations sur cette article, si quelqu'un peux m'en donnee d'avantage, je vous en remercie d'avance.

Publié par Marcos dans java

Bon travail , mais il a quelque chose d'etrange ! Je devais faire l'interface publique de classe avec des variables de position separees Position NORMAL = null; Position RIGHT = null; et posit...

Publié par dotnet dans php5

Cette interface est intéressant par le fait qu'elle soit universelle, donc son intérêt pour moi est qu'elle permet l'accès aux bases de données Microsoft SQL Server....