Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Coordonnées sur JLabel [ Archives / Au secours ] (Mikonyx)

mercredi 11 septembre 2002 à 14:37:56 | Coordonnées sur JLabel

Mikonyx

J'ai mis une image dans un JLabel pour l'afficher. J'aimerais savoir s'il est possible de récupérer les coordonnées de la souris lors d'un clique ou d'un déplacement sur cette image. Il me faudra des coordonnées par rapport à l'image...comme si un coin de l'image formait un repère orthonormé...Je sais que ca serait possible en récupérant la position de l'image dans la fênetre et avec un calcul ensuite mais cette position est aléatoire et donc...ca peut pas marcher!! Merci
Mikonyx

jeudi 12 septembre 2002 à 15:59:08 | Re : Coordonnées sur JLabel

JHelp

Ton image n'est pas positionée aléatoirement, mais au centre de ton label. Donc pour avoir les coordonées du coin haut-gauche (x,y), il te suffit de faire
x=(largeurLabel-largeurImage)/2;
y=(hauteurLabel-hauteurImage)/2;
Ensuite, il te suffit de faire une translation.
JHelp

jeudi 12 septembre 2002 à 20:04:06 | Re : Coordonnées sur JLabel

Mikonyx

EUH...c'est pas très clair....pourkoi on divise par 2? comment on récupère la largeur de label et de l'image au fait?...je suis ignorant je sais...snirf. Après, comme c'est les coordonnées de la souris de vois pas vrément du tout comment les récupérer...mon JLable, lui, est placé aléatoirement, suivant la taille de ma fenetre.....
merci
Miko



-------------------------------
Réponse au message :
-------------------------------

Ton image n'est pas positionée aléatoirement, mais au centre de ton label. Donc pour avoir les coordonées du coin haut-gauche (x,y), il te suffit de faire
x=(largeurLabel-largeurImage)/2;
y=(hauteurLabel-hauteurImage)/2;
Ensuite, il te suffit de faire une translation.
JHelp

vendredi 13 septembre 2002 à 10:40:32 | Re : Coordonnées sur JLabel

JHelp

Ok.
Bon commençons par la taille de ton JLabel.
largeurLabel=jLabel.getWidth();
hauteurLabel=jLabel.getHeight();
Ensuite celle de ton image :
largeurImage=image.getWidth(jLabel);
hauteurImage=image.getHeight(jLabel);
Ici, il faut préciser où se trouve l'image, par qui elle est "vue", pour qu'il puisse en calculer corectement les dimensions.
Pour récupérer les coordonnées de la souris, il te faut ajouter un écouteur de souris à to JLabel.
Tu as deux écouteurs de souris à ta dispositions. Le premier détecte : le clique, la presiion d'un bouton, le rela chement d'un bouton, l'entrée de la souris dans un composant, la sortie de la souris d'un composant. Le second lui, détecte, la souris qui bouge, et le drag (c'est à dire la souris sui bouge avec au moin un des boutons enfoncés).
Bon je t'explique si tu veux détecter le clique. Je vais ajouter à mes réalistions un cours sur les écouteurs, si quelqu'un en à besoin.
On ajoute l'écouteur au label, évidement, puisque c'est là qu'on cherche à détecté la souris.
jLabel.addMouseListener
(
new MouseAdapter()
{
public void mouseClicked(MouseEvent me)
{
clique(me.getX(),me.getY());
}
}
);

ensuite il te suffit de mettre ce que tu veux dans la méthode public void clique(int x,int y)
Où x et y sont les coordonées de la souris dans le label. C'est à dire que (0,0) est le coin haut gauche de ton label.

L'image est placée est centrée de ton label. Les coordonnées du centre du label est : (largeurLabel/2,hauteurLabel/2).
Piusque l'image est centée, son centre est lui aussi à ses coordonnées. danc pour se retrouvé à gauche de l'image, il suffit de parcourir la moitiée de la largeur, et même chose pour la hauteur, d'ou le coin haut-gauche est à (largeurLabel/2-largeurImage/2,hauteurLabel/2-hauteurImage/2), ce qui revient à ((largeurLabel-largeurImage)/2,(hauteurLabel-hauteurImage)/2).
Ai-je été plus clair ?
Si quelque chose te semble flou, n'esite pas.
JHelp

vendredi 13 septembre 2002 à 18:33:55 | Re : Coordonnées sur JLabel

Mikonyx

Oui, bien plus clair! Je te remercie grandement...je ne peux le tester maintenant mais j'ai bien compris. Merci.
Miko



-------------------------------
Réponse au message :
-------------------------------

Ok.
Bon commençons par la taille de ton JLabel.
largeurLabel=jLabel.getWidth();
hauteurLabel=jLabel.getHeight();
Ensuite celle de ton image :
largeurImage=image.getWidth(jLabel);
hauteurImage=image.getHeight(jLabel);
Ici, il faut préciser où se trouve l'image, par qui elle est "vue", pour qu'il puisse en calculer corectement les dimensions.
Pour récupérer les coordonnées de la souris, il te faut ajouter un écouteur de souris à to JLabel.
Tu as deux écouteurs de souris à ta dispositions. Le premier détecte : le clique, la presiion d'un bouton, le rela chement d'un bouton, l'entrée de la souris dans un composant, la sortie de la souris d'un composant. Le second lui, détecte, la souris qui bouge, et le drag (c'est à dire la souris sui bouge avec au moin un des boutons enfoncés).
Bon je t'explique si tu veux détecter le clique. Je vais ajouter à mes réalistions un cours sur les écouteurs, si quelqu'un en à besoin.
On ajoute l'écouteur au label, évidement, puisque c'est là qu'on cherche à détecté la souris.
jLabel.addMouseListener
(
new MouseAdapter()
{
public void mouseClicked(MouseEvent me)
{
clique(me.getX(),me.getY());
}
}
);

ensuite il te suffit de mettre ce que tu veux dans la méthode public void clique(int x,int y)
Où x et y sont les coordonées de la souris dans le label. C'est à dire que (0,0) est le coin haut gauche de ton label.

L'image est placée est centrée de ton label. Les coordonnées du centre du label est : (largeurLabel/2,hauteurLabel/2).
Piusque l'image est centée, son centre est lui aussi à ses coordonnées. danc pour se retrouvé à gauche de l'image, il suffit de parcourir la moitiée de la largeur, et même chose pour la hauteur, d'ou le coin haut-gauche est à (largeurLabel/2-largeurImage/2,hauteurLabel/2-hauteurImage/2), ce qui revient à ((largeurLabel-largeurImage)/2,(hauteurLabel-hauteurImage)/2).
Ai-je été plus clair ?
Si quelque chose te semble flou, n'esite pas.
JHelp



Cette discussion est classé dans : possible, image, position, jlabel, coordonnées


Répondre à ce message

Sujets en rapport avec ce message

repérage du position d'un point M(x,y) dans une image [ par hac2009 ] Bonjour tout le monde,    Je travail sur un Projet de Fin d'étude, mon sujet a pour but de:    " Récupérer les coordonnées d'un défaut au niveau d'un Mettre à jour une image dans un JLabel [ par pyrrah ] Bonjour,Je souhaiterais mettre à jour une image contenu dans un JLabel.Voici mon code :  ImageIcon status = new ImageIcon("chemin/vers/images/open_"+ Récupération coordonnées pixel [ par LiliF69 ] Bonjour à tous. Je voudrais savoir comment on récupère les coordonnées des pixels d'une imageJ'utilise un BufferefImage que j'étudie ligne par ligne e Probleme JFrame [ par romainbisson ] Bonjour je souhaite effacer le contenut de ma Jframe et lors de l'action sur un bouton, je souhaite qu'elle soit redessiner mais je ne sais pas commen Image jpeg dans jlabel [ par Phalalis ] Bien le bonjour,Je me permet de vous déranger quelques instants car je suis victime d'une incompréhension.Je vous explique plus en détail.Je dispose d Souris JLabel mouseClicked [ par thithib112 ] Bonjour,Je suis en ce moment sur un projet de puzzle, mais il me reste un obstacle pour le finir: l'interaction avec l'utilisateur.Je m'explique: je v cadre de selection souris sur un JLabel contenant une image [ par frederic020378 ] Bonjour,j'essaye d'integrer un rectangle de selectionavec la souris sur une image dans un JLabel dans le but d'enregistrer la partie selectionnée dans Modifier la taille d'un ImageIcon [ par Sango69780 ] Salut à tous, J'aimerais mettre une image dans une frame, pour y faire, j'ai penser utiliser un ImageIcon, que je mettrait dans un JLabel, et que ensu insertion image en Java [ par javaman0049 ] slt a tousje programme un jeu de bataille navale (pour un projet de cour) en java et jaimerais savoir si il est possible dinserer des images !Par exem Syntax Evenement sur une image [ par mikomiko ] bonjour, je voudrais mettre un evenement different sur chacune de mes images. Peut on comme pour un ActionListener faire un truc du genre :// ici pour


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,359 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.