Créer un rectange de sélection

devaudf Messages postés 2 Date d'inscription vendredi 1 février 2008 Statut Membre Dernière intervention 18 septembre 2008 - 15 sept. 2008 à 09:45
cs_jojolemariole Messages postés 519 Date d'inscription mercredi 21 mars 2007 Statut Membre Dernière intervention 19 décembre 2016 - 18 sept. 2008 à 13:02
Bonjour,

j'aimerais pouvoir afficher un rectangle de sélection, sur une image contenue dans un JPanel.
Pouvez-vous m'aider?
Merci d'avance

3 réponses

cs_jojolemariole Messages postés 519 Date d'inscription mercredi 21 mars 2007 Statut Membre Dernière intervention 19 décembre 2016 25
16 sept. 2008 à 12:12
Salut,

Tu crées une classe EcouteurRectangleSelection qui implémente MouseListener et MouseMotionListener.
Tu surcharges les méthode mousePressed(...) pour récupérer les coordonnées du clic initial et ensuite tu surcharges la méthode mouseDragged(...) pour récupérer les coordonnées actuelles du pointeur et pour appeler repaint() sur ton JPanel.

Dans ton JPanel, tu surcharges la méthode paint(...) pour dessiner en plus de l'image, le rectangle de sélection.

Enfin tu ajoutes le listener au JPanel en tant que MouseListener et MouseMotionListener :

monJPanel.addMouseListener(monEcouteurRectangleSelection);
monJPanel.addMouseMotionListener(monEcouteurRectangleSelection);
0
devaudf Messages postés 2 Date d'inscription vendredi 1 février 2008 Statut Membre Dernière intervention 18 septembre 2008
18 sept. 2008 à 08:14
Et pour pouvoir ensuite le sélectionner, le modifier (agrandir, raccourcir), le déplacer et le tourner? Y'a-t'il une possibilité?
0
cs_jojolemariole Messages postés 519 Date d'inscription mercredi 21 mars 2007 Statut Membre Dernière intervention 19 décembre 2016 25
18 sept. 2008 à 13:02
Y'a toujours une possibilité ;)

La plupart des logiciel utilisent des points d'accrochage pour faire tourner, redimensionner etc...

Dans ton cas je ferai un JPanel avec fond transparent pour chaque point d'accrochage (un à chaque angle du rectangle + un au milieu pour le déplacer + un au-dessus pour le faire tourner)

ensuite pour chaque point d'ancrage tu définis les écouteurs et les liens avec les autres points d'accrochage

et enfin, dans tu rajoute un JPanel avec fond transparent, par dessus l'image et de la même taille que l'image pour dessiner ton rectangle en suivant les points d'accrochage

un peu de trigo donc, sauf si tu peux utiliser les transformations géométriques de java
0
Rejoignez-nous