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

Récupérer les coordonnées d'un composant Swing

2 réponses
Avatar
Thibal
Bonjour à tous,

Est ce que quelqu'un sait comment on peut récupérer les coordonnées à
l'écran d'un composant Swing ? J'ai essayé de faire getX() et getY() sur
mon JButton mais les valeurs sont celles que le bouton avait à sa
création. Si je redimensionne ou déplace ma fenêtre dans l'écran, getX()
ne me renvoit plus du tout la bonne valeur.

J'ai essayé de faire un updateUI() sur le bouton mais ca ne marche pas
non plus.

Quelqu'un sait il comment récupérer la position absolue d'un composant à
un instant x ??

Merci d'avance,

2 réponses

Avatar
Patrick Ruzand
Salut,

"Thibal" wrote in message
news:co4vfp$2q1$
Bonjour à tous,

Est ce que quelqu'un sait comment on peut récupérer les coordonnées à
l'écran d'un composant Swing ? J'ai essayé de faire getX() et getY() sur
mon JButton mais les valeurs sont celles que le bouton avait à sa
création. Si je redimensionne ou déplace ma fenêtre dans l'écran, getX()
ne me renvoit plus du tout la bonne valeur.


getX/Y te renvoie les coordonnees du composant en relatif a son parent.
Donc si le layout du parent ne change pas, y a pas de raison que cela
change au cours du temps.

[...]
Quelqu'un sait il comment récupérer la position absolue d'un composant à
un instant x ??


La methode SwingUtilities.convertPointToScreen() devrait t'aider.

--
Patrick
Pour m'ecrire:http://cerbermail.com/?JgXjOi1b7j

Avatar
Thibal
Patrick Ruzand wrote:
Salut,

"Thibal" wrote in message
news:co4vfp$2q1$

Bonjour à tous,

Est ce que quelqu'un sait comment on peut récupérer les coordonnées à
l'écran d'un composant Swing ? J'ai essayé de faire getX() et getY() sur
mon JButton mais les valeurs sont celles que le bouton avait à sa
création. Si je redimensionne ou déplace ma fenêtre dans l'écran, getX()
ne me renvoit plus du tout la bonne valeur.



getX/Y te renvoie les coordonnees du composant en relatif a son parent.
Donc si le layout du parent ne change pas, y a pas de raison que cela
change au cours du temps.

[...]

Quelqu'un sait il comment récupérer la position absolue d'un composant à
un instant x ??



La methode SwingUtilities.convertPointToScreen() devrait t'aider.


Merci, mais finalement je n'ai pas eu besoin de cette méthode car en
fait j'avais besoin de faire apparaître un JPopup sous un bouton et
j'avais mal lu la doc, car la méthode show() du popup prend en fait des
coordonnées relatives au composant qui l'a invoqué. J'avais mal lu la doc...

C'est toutefois en cherchant dans la doc à propos de ta méthode que j'ai
fini par trouver, donc tu m'as quand même débloqué en plus de mavoir
fait découvrir une méthode utile. Merci à toi donc...