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 :

Pb avec méthode contains de Line2D


Sujet :

2D Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 82
    Par défaut Pb avec méthode contains de Line2D
    Bonjour,

    Je voudrais repérer lorsque l'utilisateur clique sur un segment.
    Pour cela, j'ai une classe Segment qui hérite de Line2D.Double et qui possède une méthode contient qui fait appel à la méthode contains de la classe Line2D.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    public class Segment extends Line2D.Double {
     
    ...
    ...
    ...
     
         public boolean contient(Point2D point){
              if (this.contains(point))	
                   return true;
              else return false;
    }
    J'ai beau cliquer sur mon segment, la méthode me renvoit toujours false :-(
    J'ai donc augmenter l'épaisseur de mon segment pour être certain de cliquer sur un point lui appartenant mais rien n'y fait.

    Aurais-je zappé un truc ?
    Avez-vous une idée ?

    Merci d'avance pour vos lumières.

  2. #2
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Personellement j'aurais plutôt travaillé en délagetion qu'en héritage, car le modifs que tu fais ailleurs peuvent avoir un Impact non voulu sur ta Line2D

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    public class MonSegment {
     
       private Line2D line;
     
     
       public boolean contient(Point2D p) {
           return line.contains(p);
       }
     
       public void draw(Graphics2D g) {
          g.draw(line);
       }
     
       public void fill(Graphics2D g) {
          g.fill(line);
       }
    }

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 82
    Par défaut
    Bonjour,

    Merci pour ta réponse.

    Ca ne répond pas vraiment à mon problème mais je reviens sur ta remarque après.... Donc, en effet, malgré l'impression de cliquer sur le segment la méthode ptSegDist me renvoie un double supérieur à 0 donc à part prendre une tolérance autour du point cliqué je ne vois pas trop...

    Pour ta remarque, tu parles de délègation, c'est ça ?
    Désolé mais ça ne fait pas longtemps que je code en java donc je ne connais pas cette notion et sur google, pas trouvé grand chose.

    Tu peux m'en dire plus stp ou m'indiquer un lien pour me renseigner ?
    Qu'est-ce que tu entends par "car le modifs que tu fais ailleurs peuvent avoir un Impact non voulu sur ta Line2D" ?
    En quoi c'est risqué ?

  4. #4
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 904
    Billets dans le blog
    54
    Par défaut
    Citation Envoyé par spender
    Donc, en effet, malgré l'impression de cliquer sur le segment la méthode ptSegDist me renvoie un double supérieur à 0 donc à part prendre une tolérance autour du point cliqué je ne vois pas trop...
    Il me semble que tu viens de repondre toi-meme a ta question, non ?

    Pour ta remarque, tu parles de délègation, c'est ça ?
    Désolé mais ça ne fait pas longtemps que je code en java donc je ne connais pas cette notion et sur google, pas trouvé grand chose.
    => Design Patterns - Catalogue de modèles de conceptions réutilisables, Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides (1999), ISBN 2711786447
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 82
    Par défaut
    Bah oui effectivement j'ai répondu à ma question
    Sinon, j'aurais bien aimé que sinok m'en dise un peu plus et m'explique un peu plus son point de vue et sa proposition d'implémentation.
    Mais bon, il a sans doute d'autres chats à fouetter......
    Merci bouye pour ta réponse, je vais m'intéresser de plus près aux design patterns.

  6. #6
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 904
    Billets dans le blog
    54
    Par défaut
    Non il est tard chez vous et peut-etre qu'il dors ou fait autre chose (tv, programmation intense a 2h du mat, ...). L'une des suggestion du Design Patterns (et de tous les autres livres qui en ont decoule dont 2 bien plus faciles a apprehender que l'original : Design Patterns par la pratique/Design Patterns Examples et Design Patterns la tete la premiere/Design Patterns Head First) est : toujours favoriser la composition (note de moi : et donc la delegation) par rapport a l'heritage. Grosso modo dans bien des cas, il vaut mieux deleguer le travail a un autre objet/classe que directement heriter et surchager cette meme classe. Dans d'autre cas, l'heritage s'impose.
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

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

Discussions similaires

  1. probleme avec la méthode contains
    Par nabilfaouzi dans le forum VB.NET
    Réponses: 6
    Dernier message: 10/03/2008, 03h08
  2. Réponses: 6
    Dernier message: 05/04/2007, 16h34
  3. Réponses: 6
    Dernier message: 27/07/2005, 09h06
  4. Réponses: 3
    Dernier message: 07/03/2005, 15h08
  5. [Singleton] Différences avec méthodes statiques
    Par Franche dans le forum Design Patterns
    Réponses: 1
    Dernier message: 26/02/2003, 17h10

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