IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AWT/Swing Java Discussion :

Comment avoir la ProgressBar verte de XP


Sujet :

AWT/Swing Java

  1. #1
    Membre émérite Avatar de jojodu31
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    875
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2008
    Messages : 875
    Par défaut Comment avoir la ProgressBar verte de XP
    Bonjour à tous,
    je voudrais savoir si on peut créer une progress bar comme dans Windows XP, qui va de gauche à droite sans arrêt (durée du traitement inconnue) ?

    merci d 'avance

  2. #2
    Membre Expert
    Avatar de CheryBen
    Inscrit en
    Mai 2005
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 599
    Par défaut
    Salut, je viens de trouver la méthode setIndeterminate, mais apparemment certains LookAndFeel ignorent ce flag. (un autre lien, que tu as peut-être déja vu : Using Indeterminate Mode)

  3. #3
    Membre Expert
    Avatar de natha
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    2 346
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2006
    Messages : 2 346
    Par défaut
    Tout est dans l'API :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    javax.swing.JProgressBar.setIndeterminate(boolean)

  4. #4
    Membre émérite Avatar de jojodu31
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    875
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2008
    Messages : 875
    Par défaut
    merci pour les réponses, j'avais vu ça déjà
    en fait ce que je voudrais c'est la même progress bar que XP, la verte comme ici (XP style)

    mais apparemment ce n'est pas possible... je vais devoir me contenter de celle de Java ou sinon je pensais adapter celle-ci qui est plus jolie.

  5. #5
    Membre Expert
    Avatar de natha
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    2 346
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2006
    Messages : 2 346
    Par défaut
    C'était pas très clair la question...
    Si tu la veux verte, tu te codes ta propre ProgressBarUI. C'est toujours une question de LnF en Java Swing.

  6. #6
    Membre émérite Avatar de jojodu31
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    875
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2008
    Messages : 875
    Par défaut
    en fait je pensais que le type de barre XP style était déjà implémenté ou du moins je l'espérais... mais le glass pane est quand même autrement plus beau et design non ?

  7. #7
    Membre émérite Avatar de jojodu31
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    875
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2008
    Messages : 875
    Par défaut
    Citation Envoyé par natha Voir le message
    C'était pas très clair la question...
    Si tu la veux verte, tu te codes ta propre ProgressBarUI. C'est toujours une question de LnF en Java Swing.
    est-ce que tu aurais des exemples de personnalisation des UI car je ne trouve rien comme exemple sur ProgressBarUI sur google...
    merci

  8. #8
    Membre Expert
    Avatar de natha
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    2 346
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2006
    Messages : 2 346
    Par défaut
    Regarde le code de javax.swing.plaf.basic.BasicProgressBarUI dans les sources du JDK. C'est ce qui permet de dessiner le composant, libre à toi de simplement adapter ou de carrément le refaire.

  9. #9
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Avec une version récente de java (5 ou 6) tu l'auras directement dans le L&F natif Windows.
    Si tu ne veux pas utiliser ce L&F, au boulot...

  10. #10
    Membre émérite Avatar de jojodu31
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    875
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2008
    Messages : 875
    Par défaut
    en effet j'ai testé le LaF Windows mais c'est pas tip top...donc je me suis débrouillé

    j'ai juste modifié quelques propriétés de l UIManager pour les progressBars seulement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    UIManager.put("ProgressBar.cellLength", 9);
    UIManager.put("ProgressBar.cellSpacing", 1);
    j'ai également changé la couleur en vert et voilà avec ceci j'ai bien ma barre de XP .... sauf que les bords sont carrés au lieu d'arrondi. C'est pas très grave mais si quelqu'un a une solution simple je prend

  11. #11
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Mouaip, enfin bon avec un code comme le suivant j'ai bien la progress XP sous XP.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
     
    try {
                UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
            } catch (ClassNotFoundException e) {
                // TODO Bloc catch auto-généré
                e.printStackTrace();
            } catch (InstantiationException e) {
                // TODO Bloc catch auto-généré
                e.printStackTrace();
            } catch (IllegalAccessException e) {
                // TODO Bloc catch auto-généré
                e.printStackTrace();
            } catch (UnsupportedLookAndFeelException e) {
                // TODO Bloc catch auto-généré
                e.printStackTrace();
            }
            final JProgressBar progressBar = new JProgressBar();
            final JFrame jFrame = new JFrame();
            jFrame.add(progressBar);
            Runnable r = new Runnable() {
     
                public void run() {
                    int i = 0;
                    for(i = 0; i<100; i++) {
                        try {
                            Thread.sleep(100);
                        } catch (InterruptedException e) {
                            // TODO Bloc catch auto-généré
                            e.printStackTrace();
                        }
                        final int  a = i;
                        SwingUtilities.invokeLater(new  Runnable() {
     
                            public void run() {
                                // TODO Raccord de méthode auto-généré
                                progressBar.setValue(a);
                            }
     
                        });
                    }
     
                }
     
            };
            Thread t = new Thread(r);
            jFrame.setSize(400, 100);
            jFrame.setLocationRelativeTo(null);
            jFrame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
            jFrame.setVisible(true);
            t.start();

  12. #12
    Membre émérite Avatar de jojodu31
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    875
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2008
    Messages : 875
    Par défaut
    Citation Envoyé par natha Voir le message
    Regarde le code de javax.swing.plaf.basic.BasicProgressBarUI dans les sources du JDK. C'est ce qui permet de dessiner le composant, libre à toi de simplement adapter ou de carrément le refaire.
    sur le JDK j'arrive pas à voir où sont les sources ... peut tu me l 'indiquer stp ?
    merci

  13. #13
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    bah dans le JDK (et pas la JRE attention) tu as un zip qui s'appeller src.zip qui contient les sources de java.

  14. #14
    Membre Expert
    Avatar de natha
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    2 346
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2006
    Messages : 2 346
    Par défaut
    Et si tu es sous Linux, il faut télécharger le paquet des sources car il ne vient pas forcément d'office avec le JDK.
    sun-java6-source par exemple.

    => http://java.developpez.com/faq/java/..._installer_JDK

  15. #15
    Membre émérite Avatar de jojodu31
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    875
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2008
    Messages : 875
    Par défaut
    Citation Envoyé par natha Voir le message
    C'était pas très clair la question...
    Si tu la veux verte, tu te codes ta propre ProgressBarUI. C'est toujours une question de LnF en Java Swing.
    j'ai regardé le MetalProgressBarUI et j'ai regardé la méthode paintIndeterminate mais apparemment on ne peut pas mettre un LinearGradientPaint en guise de couleur de la barre ?

Discussions similaires

  1. Réponses: 2
    Dernier message: 11/09/2009, 11h39
  2. Réponses: 3
    Dernier message: 08/08/2004, 22h35
  3. Comment avoir des marges dans un TRichEdit ?
    Par nomdutilisateur dans le forum Composants VCL
    Réponses: 5
    Dernier message: 25/06/2004, 10h57
  4. [eclipse][plugin] Comment avoir une fenêtre avec focus
    Par relivio dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 07/04/2004, 16h54
  5. comment programmer une progressbar
    Par Choucas dans le forum Paradox
    Réponses: 3
    Dernier message: 13/11/2002, 12h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo