IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

2D Java Discussion :

gestion de listener pour un object (Rectangle.Double)


Sujet :

2D Java

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 56
    Par défaut gestion de listener pour un object (Rectangle.Double)
    Bonjour,

    Voici mon petit problème:
    Je dessine sur un JPanel (à l'aide d'un objet Graphics2D et de la méthode Draw) des rectangles (des objets instanciés de la classe Rectangle.Double), je voudrais pouvoir qd je clique sur un certain rectangle effectuer un traitement différent suivant le rectangle choisi.

    Si je place le listener sur le JPanel, je pourrai détecter les clics de souris... mais pour savoir quel Rectangle sera choisi je devrai repérer la coordonnée du pixel et voir si elle est bien inclue dans le rectangle. Je voudrais pouvoir faire cela différemment et placer un listener sur les objets Rectangle que je dessine.

    Le problème est que la classe Rectangle.Double ne permet pas d'implémenter un listener étant donné qu'elle n'hérite pas de la classe Component (un objet Double ne peut donc faire appel à la méthode addMouseListener).

    Quelqu'un aurait-il déjà résolu ce genre de problème ? Est-ce possible?

    Sam

  2. #2
    Gfx
    Gfx est déconnecté
    Expert confirmé
    Avatar de Gfx
    Inscrit en
    Mai 2005
    Messages
    1 770
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 770
    Par défaut
    J'ai déjà résolu ce problème... en utilisant ta première solution. Sinon tu peux utiliser un layout null et des JPanel ou même créer tes propres composants. Tout dépend de tes besoins. Si tu veux juste exécuter une action sans changer l'affichage, ta solution (vérifier les coordonnées) est la meilleure. D'autant plus qu'elle est très simple à mettre en oeuvre en appelant la méthode contains() des Rectangle.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 56
    Par défaut
    Merci d'avoir pris la peine de lire ma question et d'y avoir répondu.

    Je me doute qu'avec la première solution cela doit être facilement réalisable mais je trouve pas cela très "beau"... J'aimerais pouvoir ajouter un listener à un object dérivant de la classe Double et je vois pas trop comment faire. (avec de l'héritage multiple (MyRectangle extends Double, Component) ce serait ok mais pas possible en java)

  4. #4
    Membre Expert
    Avatar de xavlours
    Inscrit en
    Février 2004
    Messages
    1 832
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 1 832
    Par défaut
    Pourquoi utiliser l'héritage multiple ? Si tu hérites de Component, getBounds() te renverra un Rectangle. (et setBounds en utilise un).
    Je ne te conseille la deuxième solution que dans le cas ou tu as besoin d'écouter mouseEntered ou mouseExited. Sinon, la première est plus simple, et plus facile à relire.
    "Le bon ni le mauvais ne me feraient de peine si si si je savais que j'en aurais l'étrenne." B.V.
    Non au langage SMS ! Je ne répondrai pas aux questions techniques par MP.
    Eclipse : News, FAQ, Cours, Livres, Blogs.Et moi.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Question des gestions des genres pour livre, BD...
    Par Oberown dans le forum Schéma
    Réponses: 3
    Dernier message: 16/09/2004, 16h58
  2. [JSP]comment créer un listener pour ma base de données
    Par Ekimasu dans le forum Servlets/JSP
    Réponses: 14
    Dernier message: 10/05/2004, 14h49
  3. Gestion des modifications pour un enregistrement
    Par Pascal Jankowski dans le forum Bases de données
    Réponses: 3
    Dernier message: 10/03/2004, 14h09
  4. [TP]Pour faire un rectangle
    Par Bruce Campbell dans le forum Turbo Pascal
    Réponses: 8
    Dernier message: 14/10/2003, 15h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo