Changer le couleur du ProgressBar

Fermé
mar - 29 avril 2013 à 22:31
KX Messages postés 16754 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 - 30 avril 2013 à 18:35
Bonjour,
j'ai un petit problème avec une JProgressBar qui est de couleur orangé alors que je veux le changer de façon qu'il soit rouge si la valeur de progression < 20 orange si <60 et vert si non j'ai utilisé le UIManger, setForeground, setBackground mais sans aucune résultat
merci d'avance
A voir également:

1 réponse

KX Messages postés 16754 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 3 020
Modifié par KX le 30/04/2013 à 18:39
Pourtant setForeground devrait fonctionner...

Exemple :

import java.awt.Color;
import javax.swing.JFrame;
import javax.swing.JProgressBar;

public class Test 
{
    public static void main(String[] args) throws InterruptedException
    {
        JFrame frame = new JFrame();
        
        JProgressBar bar = new JProgressBar();
        frame.add(bar);
        
        frame.setLocationRelativeTo(null);
        frame.pack();
        frame.setVisible(true);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        
        final int min = 56, max = 234;
        
        bar.setMinimum(min);
        bar.setMaximum(max);
        
        bar.setStringPainted(true);
        
        for (int i=min; i<=max; i++)
        {
            bar.setValue(i);
            
            if (bar.getPercentComplete()<0.20)
                bar.setForeground(Color.RED);
            else if (bar.getPercentComplete()<0.60)
                bar.setForeground(Color.ORANGE);
            else
                bar.setForeground(Color.GREEN);
            
            Thread.sleep(100);
        }
    }
}
0