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

Langage Java Discussion :

redéfinition de méthode


Sujet :

Langage Java

  1. #1
    Membre du Club
    Inscrit en
    Septembre 2008
    Messages
    145
    Détails du profil
    Informations personnelles :
    Âge : 66

    Informations forums :
    Inscription : Septembre 2008
    Messages : 145
    Points : 65
    Points
    65
    Par défaut redéfinition de méthode
    Bonjour,

    J'ai besoin d'une précision, voilà j'ai récupéré un bout de code qui comporte plusieurs classes:

    Classe3: extend classe2
    Classe2: extend classe1

    dans classe 1, 2 et 3 je trouve:

    public void draw(Graphics2D g){
    g. ....
    }

    je ne comprends pas bien, on redéfinit à chaque fois draw ? mais alors comment java fait pour s'y retrouver ?

    draw de classe3 appelle draw de classe2 qui appelle draw de classe1 qui appelle draw de java ?

    si draw de classe1 est appelé, elle appelle draw de java ?

    c'est tout ?
    Merci d'avance pour vos précieuses infos

  2. #2
    Membre éclairé
    Homme Profil pro
    NoOb
    Inscrit en
    Mai 2007
    Messages
    554
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : NoOb

    Informations forums :
    Inscription : Mai 2007
    Messages : 554
    Points : 852
    Points
    852
    Par défaut
    Citation Envoyé par greg08 Voir le message

    draw de classe3 appelle draw de classe2 qui appelle draw de classe1 qui appelle draw de java ?

    si draw de classe1 est appelé, elle appelle draw de java ?

    c'est tout ?
    Bonjour, oui (ou alors j'ai rien compris )

  3. #3
    Membre chevronné
    Avatar de CheryBen
    Inscrit en
    Mai 2005
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 599
    Points : 2 197
    Points
    2 197
    Par défaut
    Bonjour, tout dépend de comment l'objet est instancié.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Classe1 objet1 = new Classe3();
    objet1.draw(...);
    Cela appellera la méthode draw située dans Classe3. Bien sûr cette méthode peut faire un super.draw(...) qui appellera draw de Classe2.

  4. #4
    Membre du Club
    Inscrit en
    Septembre 2008
    Messages
    145
    Détails du profil
    Informations personnelles :
    Âge : 66

    Informations forums :
    Inscription : Septembre 2008
    Messages : 145
    Points : 65
    Points
    65
    Par défaut ok
    merci ,

    parfois je lis des bouts de code où on écrit dans repaint d'autres code dans paint d'autres dans update d'autres dans paintcomponent, c'est mieux d'écrire où ? Cela a t-il des influences ?

    est-ce que dispose est nécessaire ?
    Merci d'avance pour vos précieuses infos

  5. #5
    Membre émérite
    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
    Points : 2 582
    Points
    2 582
    Par défaut
    La méthode appelée est celle qui est définie dans la classe de l'objet courant, ou dans la classe la plus proche parente, pour faire court.

    Donc la question fondamentale est : Quel est l'objet courant ? Cela, tu ne le sais que à l'exécution, pas à la conception du code (toujours pour faire court).

    Et dispose est-il nécessaire ?... Des fois oui, des fois non : cela dépend de l'objet courant D'abord, je suppose que tu parles d'un objet de classe Graphics. Si tu reçois ce Graphics en paramètre, en général, ce n'est pas nécessaire ; si tu crées toi même ce Graphics pour une raison qui te regarde, c'est absolument nécessaire d'en faire le dispose.
    Mieux que Google, utilisez Sur Java spécialisé sur la plate-forme java !
    Pour réaliser vos applications Java dans le cadre de prestations, forfait, conseil, contactez-moi en message privé.

  6. #6
    Membre du Club
    Inscrit en
    Septembre 2008
    Messages
    145
    Détails du profil
    Informations personnelles :
    Âge : 66

    Informations forums :
    Inscription : Septembre 2008
    Messages : 145
    Points : 65
    Points
    65
    Par défaut précision
    cool, merci !

    une autre petite question: j'ai vu du code qui utilise BufferedImage et qui parfois écrit un coup dans l'image un coup dans le graphique!!! je ne comprends pas la différence, si on crée une bufferedImage on doit toujours écrire dedans, non ?

    Merci d'avance pour vos précieuses infos

  7. #7
    Membre averti Avatar de Amine_sas
    Profil pro
    Étudiant
    Inscrit en
    Juin 2005
    Messages
    245
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2005
    Messages : 245
    Points : 307
    Points
    307
    Par défaut
    Citation Envoyé par greg08 Voir le message
    cool, merci !
    une autre petite question: j'ai vu du code qui utilise BufferedImage et qui parfois écrit un coup dans l'image un coup dans le graphique!!!
    Tu veux dire qu'on écrit sur l'objet Graphics de l'image.

    je ne comprends pas la différence, si on crée une bufferedImage on doit toujours écrire dedans, non ?
    Pas forcément. Si tu as créé une BufferedImage vide (i.e. les données de l'images ne sont pas lues depuis un fichier image) tu auras probablement besoin d'y dessiner quelque chose mais si les données proviennent d'une image tu voudrais peut-être effectuer quelques opérations (filtrage, transformations etc..) ou bien l'afficher sans aucune modification.
    "Un remboursement des programmes défectueux serait envisageable mais toute l'industrie du logiciel ferait faillite la première année." Andrew Tanenbaum.

  8. #8
    Membre du Club
    Inscrit en
    Septembre 2008
    Messages
    145
    Détails du profil
    Informations personnelles :
    Âge : 66

    Informations forums :
    Inscription : Septembre 2008
    Messages : 145
    Points : 65
    Points
    65
    Par défaut suite
    oui, je veux dire dans Graphics

    Pour ce qui est de BufferedImage, quand on écris dans Graphics cela part sur l'écran ? et quand on écrit dans l'image ce la part dans l'image jusque rencontrer Img.DrawImage, c'est bien cela ?
    Merci d'avance pour vos précieuses infos

  9. #9
    Membre averti Avatar de Amine_sas
    Profil pro
    Étudiant
    Inscrit en
    Juin 2005
    Messages
    245
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2005
    Messages : 245
    Points : 307
    Points
    307
    Par défaut
    Salut,

    Oui, lorsque tu écris sur l'image rien n'apparaîtra sur l'écran si tu n'y affiches pas l'image (par DrawImage par exemple).
    Il faut faire une distinction entre Graphics le paramètre de la méthode paintComponent et le Graphics de l'image que tu peux obtenir par:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Graphics2D g2D = bufferedImg.createGraphics();
    "Un remboursement des programmes défectueux serait envisageable mais toute l'industrie du logiciel ferait faillite la première année." Andrew Tanenbaum.

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 08/12/2008, 18h20
  2. Réponses: 8
    Dernier message: 01/07/2008, 23h15
  3. héritage et redéfinition de méthodes
    Par Braillane dans le forum Langage
    Réponses: 4
    Dernier message: 07/01/2007, 18h47
  4. redéfinition de méthode et invocation
    Par magedo dans le forum Langage
    Réponses: 2
    Dernier message: 05/01/2007, 19h00
  5. [JPanel][LayoutManager] redéfinition de méthodes
    Par _KB_ dans le forum AWT/Swing
    Réponses: 4
    Dernier message: 06/06/2006, 14h22

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