cs_def95
Messages postés11Date d'inscriptionjeudi 13 avril 2006StatutMembreDernière intervention23 juin 2006
-
22 juin 2006 à 15:16
Twinuts
Messages postés5375Date d'inscriptiondimanche 4 mai 2003StatutModérateurDernière intervention14 juin 2023
-
22 juin 2006 à 15:46
Bonjour, j'ai un probleme au niveau du UImanager :
J'ai creé une classe TimerBar qui hérite de JProgressBar et je souhaite pôuvoir changer la couleur de la ProgressBar lorsque je le souhaite. En fait dans mon programme, il y a 2 progressBar et en fonction des evenements l'une est fonctionne et l'autre est arretée. Je voudrai que que lorsque la barre est selectionnée elle s'affiche en bleu et lorsque'elle est deselectionnée en gris.
Dans le constructeur je les defini toute les 2 en noirs mais des leur creation, une seule s'affiche en noir, l'autre a sa couleur d'origine.
Est ce que vous pourriez me donner plus d'information sur le fonctionnement de UIMANAGER et aussi, si quelqu'un sait ce que veux dire la ligne static final long serialVersionUID = 42L; que j'ai du recopier de la doc JProgressBar pour que sa compile.
merci d'avance pour vos reponses.....
import javax.swing.*;
import java.awt.Color;
import java.awt.*;
public class TimerBar extends JProgressBar{
static final long serialVersionUID = 42L;
public TimerBar(int time){
super(0,time);
super.setValue(time);
UIManager.put("ProgressBar.foreground",Color.black);
}
public void decrease (){
super.setValue(super.getValue()-10);
}
cs_def95
Messages postés11Date d'inscriptionjeudi 13 avril 2006StatutMembreDernière intervention23 juin 2006 22 juin 2006 à 15:43
je rajoute que quand je cree mes timerBar
celle qui va s'afficher en noir est la derniere cree.
TimerBar timer1=new TimerBar(600000);
TimerBar timer2=new TimerBar(600000);
JPanel panel1=new JPanel();
JPanel panel2=new JPanel();
panel1.add(timer1);
panel2.add(timer2);
window.getContentPane().add(panel2,BorderLayout.SOUTH);
window.getContentPane().add(panel1,BorderLayout.NORTH);
Twinuts
Messages postés5375Date d'inscriptiondimanche 4 mai 2003StatutModérateurDernière intervention14 juin 2023111 22 juin 2006 à 15:46
Salut,
UIManager va mettre la meme couleur a toutes les progress barre de ton
code aplli si tu veux vraiment avoir une couleur différente par
progress barre il te faut redefinir son UI soit redefinir
BasicProgressBarUI et l'ajouter exemple :
public class MProgressBarUI extends BasicProgressBarUI{
//............ tt plein de code :P
}
JProgressBar jpb = new JProgressBar();
jpb.setUI(new MProgressBarUI());
On n'est pas des traiteurs : on ne fait pas dans les plats tout cuits ...