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 :

Problème avec la classe Graphics2D


Sujet :

2D Java

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 95
    Par défaut Problème avec la classe Graphics2D
    Bonjour,
    il y a vraiment un truc que j'ai pas capté :
    Dans la classe Graphics, la méthode drawLine est abstraite, elle n'a donc pas de corps. Comment se fait-il alors que l'instruction g.drawline(0,0,10,10)trace une ligne puisqu'il n'y a pas d'instruction dans le corps de la méthode ? (il n'y a d'ailleurs même pas de corps).

    Plus précisément, pour mes besoins j'ai créé une sous classe de Graphics2D. J'ai voulu surdéfinir la méthode drawline. Dans le corps de la méthode j'ai besoin d'écrire un truc du genre : super.drawLine(a,b,c,d). Bien sûr cela ne marche pas puisque drawLine est abstraite. Comment faire alors pour faire appel à drawLine de la classe mère pour tracer un trait comme le ferait g.drawLine ?

    Merci d'apaiser mes angoisses face à ce mystère !

  2. #2
    Membre Expert
    Avatar de gifffftane
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 354
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 2 354
    Par défaut
    Avec Java, et la programmation orientée objet en général, quand on déclare qu'un objet est de classe Toto, cet objet peut être de la classe Toto, ou d'un héritier de la classe Toto.

    C'est ainsi que lorsque l'on écrit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    public void paintComponent(Graphics g)
    {
    ...
    }
    ... l'objet g est déclaré de la classe Graphics, et il peut être de n'importe quelle autre classe, du moment que cette autre classe hérite de (ou réalise si c'est une interface) la classe Graphics.

    Pour savoir quelle est la classe exacte de ton objet lors de l'exécution, tu peux utiliser l'expression suivante : System.out.println("classe de g : "+g.getClass());

    Concernant ta classe Graphics perso, cela ne sera pas simple, car les objets Graphics sont créés par la mécanique sous jacente de awt, et c'est plutôt affaire de spécialiste de systèmes graphiques que de programmeur java. Essaie de trouver une autre approche.

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

Discussions similaires

  1. [POO] PHP5 : Problème avec les classes
    Par fleur_de_rose dans le forum Langage
    Réponses: 9
    Dernier message: 06/05/2006, 19h09
  2. Problème avec une classe... "without object"
    Par z980x dans le forum C++
    Réponses: 8
    Dernier message: 27/04/2006, 16h00
  3. [PHPMailer] problème avec la classe phpmailer
    Par sansouna24 dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 08/04/2006, 16h51
  4. Problème avec la classe Calendar
    Par afrikha dans le forum Collection et Stream
    Réponses: 3
    Dernier message: 30/03/2006, 08h48
  5. Réponses: 9
    Dernier message: 25/09/2005, 16h33

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