Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

utiliser repaint() sur une intance JLabel

9 réponses
Avatar
David
Bonjour,

Si par exemple je crée une instance de la class JLabel
de la facon suivante :

int static seconde = 0;
JLabel etiquette = new JLabel(seconde);

Le code est incomplet mais c'est juste pour présenter les
faits. Imaginons que la variable seconde s'incremente
toutes les secondes et que je souhaite actualiser le contenu
de etiquette qui est une instance JLabel, est ce possible avec
repaint() ???
Moi pour le remettre à jour je rend visible la fenetre
contenant etiquette toute les seconde meme si elle l'est deja,
ca force le rafraichissement. Mais comment faire avec repaint()

Merci,

David

9 réponses

Avatar
M6C
Salut,

Moi, perso je ne me prendrais pas la tête, je mettrais la variable "seconde"
en private et je créerais des ascesseurs (set/get) ou une fonction par
exemple "incrémente(int inc)", dans les quelques je mettrais à jour le
JLable.

Tout dépendend, tu destines l'accès à ta variable seulement de l'exterieur
de ta classe ou pas.

En éspèrent avoir pu faire avancer 1peut ton problème...

@+


"David" a écrit dans le message news:

Bonjour,

Si par exemple je crée une instance de la class JLabel
de la facon suivante :

int static seconde = 0;
JLabel etiquette = new JLabel(seconde);

Le code est incomplet mais c'est juste pour présenter les
faits. Imaginons que la variable seconde s'incremente
toutes les secondes et que je souhaite actualiser le contenu
de etiquette qui est une instance JLabel, est ce possible avec
repaint() ???
Moi pour le remettre à jour je rend visible la fenetre
contenant etiquette toute les seconde meme si elle l'est deja,
ca force le rafraichissement. Mais comment faire avec repaint()

Merci,

David


Avatar
David
Ben je l'ai mis a jour le JLabel mais pour afficher la mise
a jour ben si par exemple l'instance contenant
le JLabel s'appel fenetre, je devrai faire :
fenetre.setVisible(true)
Achaque fois pour que l'affichage et la modification
du JLabel soit mis a jour, et je ne comprend pas pourquoi
le repaint() ne le met pas à jor .



Salut,

Moi, perso je ne me prendrais pas la tête, je mettrais la variable "seconde"
en private et je créerais des ascesseurs (set/get) ou une fonction par
exemple "incrémente(int inc)", dans les quelques je mettrais à jour le
JLable.

Tout dépendend, tu destines l'accès à ta variable seulement de l'exterieur
de ta classe ou pas.

En éspèrent avoir pu faire avancer 1peut ton problème...

@+




Avatar
M6C
Si au debut tu demandes à ton label d'afficher le contenu de ta variable
"seconde", le label va copier dans la mémoire 0 si elle est égale à 0 et
donc afficher 0. Mais en aucun cas, le label de va étre lié à ta variable
second. Donc ton label ne va pas prendre en compte les changements de ta
variable. C'est pour cela qu'il faut que tu réinitialises ton lable à chaque
changement.

Voici ma réponse pour ce que je comprend de ta question. A moins que je ne
sois à côté de la plaque. Si oui mets un exemple de ton code... Ce sera plus
simple.

@+


"David" a écrit dans le message news:

Ben je l'ai mis a jour le JLabel mais pour afficher la mise
a jour ben si par exemple l'instance contenant
le JLabel s'appel fenetre, je devrai faire :
fenetre.setVisible(true)
Achaque fois pour que l'affichage et la modification
du JLabel soit mis a jour, et je ne comprend pas pourquoi
le repaint() ne le met pas à jor .



Salut,

Moi, perso je ne me prendrais pas la tête, je mettrais la variable
"seconde"


en private et je créerais des ascesseurs (set/get) ou une fonction par
exemple "incrémente(int inc)", dans les quelques je mettrais à jour le
JLable.

Tout dépendend, tu destines l'accès à ta variable seulement de
l'exterieur


de ta classe ou pas.

En éspèrent avoir pu faire avancer 1peut ton problème...

@+







Avatar
David
Je cherche la solution sans utiliser la methode setText() des JLabel.






Salut,

Moi, perso je ne me prendrais pas la tête, je mettrais la variable "seconde"
en private et je créerais des ascesseurs (set/get) ou une fonction par
exemple "incrémente(int inc)", dans les quelques je mettrais à jour le
JLable.

Tout dépendend, tu destines l'accès à ta variable seulement de l'exterieur
de ta classe ou pas.

En éspèrent avoir pu faire avancer 1peut ton problème...

@+






Avatar
David
Oki je crois que j'ai compris pour cette
question.
Merci :-)
Avatar
David
En fait j'ai pas tout à fait compris demain je
mettrai le code.
Bonne nuit
Avatar
acc
"David" a écrit dans le message de news:

Bonjour,

Si par exemple je crée une instance de la class JLabel
de la facon suivante :

int static seconde = 0;
JLabel etiquette = new JLabel(seconde);

Le code est incomplet mais c'est juste pour présenter les
faits. Imaginons que la variable seconde s'incremente
toutes les secondes et que je souhaite actualiser le contenu
de etiquette qui est une instance JLabel, est ce possible avec
repaint() ???
Moi pour le remettre à jour je rend visible la fenetre
contenant etiquette toute les seconde meme si elle l'est deja,
ca force le rafraichissement. Mais comment faire avec repaint()

Merci,

David


Tu peux essayer etiquette.paintComponentImmediately(0, 0, ettiquette.Width,
ettiquette.Height) ;

Avatar
David
J'ai trouvé !!!!la methode setText des instances JLabel
s'occupe de remettre à jour le contenu texte d'une
instance JLabel, je vais essayer avec paintcomponent.

Tu peux essayer etiquette.paintComponentImmediately(0, 0, ettiquette.Width,
ettiquette.Height) ;


Avatar
acc
"acc" a écrit dans le message de news:
3f9fefeb$0$236$

"David" a écrit dans le message de news:

Bonjour,

Si par exemple je crée une instance de la class JLabel
de la facon suivante :

int static seconde = 0;
JLabel etiquette = new JLabel(seconde);

Le code est incomplet mais c'est juste pour présenter les
faits. Imaginons que la variable seconde s'incremente
toutes les secondes et que je souhaite actualiser le contenu
de etiquette qui est une instance JLabel, est ce possible avec
repaint() ???
Moi pour le remettre à jour je rend visible la fenetre
contenant etiquette toute les seconde meme si elle l'est deja,
ca force le rafraichissement. Mais comment faire avec repaint()

Merci,

David


Tu peux essayer etiquette.paintComponentImmediately(0, 0,
ettiquette.Width,

ettiquette.Height) ;


etiquette.paintImmediately(0, 0, ettiquette.getWidth(),

ettiquette.getHeight() ) ;