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 :

[Débutant] Problème affichage objet géométrique


Sujet :

2D Java

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 12
    Points : 5
    Points
    5
    Par défaut [Débutant] Problème affichage objet géométrique
    Bonjour, pourriez vous me dire pourquoi je n'arrive pas à afficher un rectangle rouge et un carré bleu grâce à l'applet suivante ?

    merci d'avance
    Oliv

    voici le code :
    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
     
    import java.applet.*; 
    import java.awt.*; 
     
    abstract class Pix extends Canvas { 
     
      Dimension mesDimensions = new Dimension(); 
     
      public void Pix(){ 
      } 
      public Color quelleCouleur(){ 
        return getForeground(); 
      } 
      public void setColor(Color c) { 
        setForeground(c); 
      } 
      public void dessine(Graphics g){ 
      } 
     
      public double quelleAire() { 
        return 0; 
      } 
      public double quelPerimetre(){ 
        return 0; 
      } 
      public String quelType(){ 
        return "figure inconnue"; 
      } 
     
      public Dimension taillePreferee(){ 
        return mesDimensions; 
      } 
      public Dimension tailleMinimum() { 
        return mesDimensions; 
      } 
    } 
     
     
    public class PixApplet extends Applet 
    { 
      public void init() 
      { 
        resize(320, 240); 
        Rectgl r=new Rectgl(20,40,Color.red);add(r); 
        Carre c1 = new Carre(10,Color.blue);add(c1); 
      /* Cercle c = new Cercle(20,Color.yellow); 
        Carre c2 = new Carre(40,Color.green); */ 
     
        /*  add(c); 
        add(c2);  */ 
       add(new PixLabel(r)); 
       add(new PixLabel(c1)); 
       /* add(new PixLabel(c)); 
        add(new PixLabel(c2)); */ 
       } 
     
        static { 
        } 
     } 
        class Rectgl extends Pix 
      { 
      /* Constructeur */ 
     
       public Rectgl(int largeur, int hauteur, Color c){ 
        mesDimensions.width = largeur; 
        mesDimensions.height = hauteur; 
        setColor(c); 
      } 
      public void dessine(Graphics g) { 
        g.fillRect(0, 0, mesDimensions.width, mesDimensions.height); 
      } 
      public double quelPerimetre(){ 
        return (mesDimensions.width + mesDimensions.height); 
      } 
       /* REtourne la surface de la figure */ 
      public double quelleAire(){ 
        return mesDimensions.width * mesDimensions.height; 
      } 
      /* REtourne une chaine décrivant la figure */ 
      public String quelType() { 
        return "Rectangle"; 
      } 
     
      } 
     
     
    class Carre extends Rectgl 
    { 
      /*constructeur */ 
      public Carre(int cote, Color c){ 
        super(cote,cote,c); 
      } 
     
      public String quelType(){ 
        return "Carré"; 
      } 
     
    } 
     
     
    class PixLabel extends TextArea 
    { 
      public PixLabel(Pix s){ 
        super("Je suis un " + s.quelType() + "\nMon périmètre est : " + Double.toString(s.quelPerimetre()) + "\nMa surface est " + Double.toString(s.quelleAire()), 4, 20, SCROLLBARS_NONE); 
      } 
    }
    Message modéré par Miss Gaelle :
    - Balises code ajoutées
    Merci de lire les règles du forum.

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

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 770
    Points : 8 178
    Points
    8 178
    Par défaut
    Tu as déjà posé la question il me semble non ? Bref, nulle part tu dessines tes formes, elles ne risquent donc pas d'apparaître. Tu n'aurais pas bêtement copier/coller ce code ? )
    Romain Guy
    Android - Mon livre - Mon blog

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 12
    Points : 5
    Points
    5
    Par défaut
    non en fait j'ai recopié le code à partir du livre Java pour les nuls mais j'ai l'impression qu'il y avait quelques erreurs.

    Je croyais que la méthode public void dessine(Graphics g) {
    g.fillRect(0, 0, mesDimensions.width, mesDimensions.height);
    utilisée ds la classe Rectgl dessinait mon rectangle, non ?

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

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 770
    Points : 8 178
    Points
    8 178
    Par défaut
    Ben non puisque dessine() est jamais appelé. Ca sent la traduction bête et méchante du code pour la VF du bouquin
    Romain Guy
    Android - Mon livre - Mon blog

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 12
    Points : 5
    Points
    5
    Par défaut
    alors à quel endroit je peux faire appel à la méthode dessine(Graphics g), pas ds la classe init() ?

    Oliv

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 12
    Points : 5
    Points
    5
    Par défaut
    euh je veux dire ds la méthode init() ?

  7. #7
    Membre expérimenté Avatar de herve91
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 282
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 282
    Points : 1 608
    Points
    1 608
    Par défaut
    Citation Envoyé par brionne
    alors à quel endroit je peux faire appel à la méthode dessine(Graphics g), pas ds la classe init() ?

    Oliv
    et si tu renommais dessine() en paint() ?

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 12
    Points : 5
    Points
    5
    Par défaut
    j'ai essayé à la fois ds l'abstract class et ds la class Rectgl mais toujours pas de trace de rectangle à l'écran.

    merci

  9. #9
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 12
    Points : 5
    Points
    5
    Par défaut [Résolu]
    cela fonctionne en changeant ds l'abstract class Pix le nom des méthodes taillePreferree() en preferredSize() et tailleMinimum() en minimumSize().
    Est ce que cela vient des méthodes acceptées par la classe java.awt.Dimension ? Ou peut on voir la syntaxe de ces méthodes ?

    Oliv

  10. #10
    Membre expérimenté Avatar de herve91
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 282
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 282
    Points : 1 608
    Points
    1 608
    Par défaut
    dans la classe java.awt.Component

  11. #11
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 12
    Points : 5
    Points
    5
    Par défaut
    merci beaucoup pour votre aide

    Oliv

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

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 770
    Points : 8 178
    Points
    8 178
    Par défaut
    Donc c'est bien ce que je disais : le bouquin a été traduit d'une manière très foireuse
    Romain Guy
    Android - Mon livre - Mon blog

  13. #13
    Membre confirmé

    Inscrit en
    Juillet 2002
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 116
    Points : 514
    Points
    514
    Par défaut
    Le coup de la traduction entiére du livre avec même les mots clés traduits est tout simplement : Enorme !!!

    En plus, ce genre de livre est destiné au débutant ... de quoi les dégouter trés rapidement de programmer en Java ... et finir par croire que sous ce language, rien ne fonctionne

  14. #14
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 12
    Points : 5
    Points
    5
    Par défaut
    jusqu'ici, j'avais essayé la cuisine pour les nuls ; eh bien je ne sais pas si c'était mieux traduit ou bien relu par des spécialistes mais cela était bon à manger alors que Java pour les nuls, quelle déception...

    Olivier

Discussions similaires

  1. Réponses: 0
    Dernier message: 08/11/2012, 10h52
  2. (débutante) problème affichage datagridview
    Par ManonB dans le forum VB.NET
    Réponses: 6
    Dernier message: 10/01/2011, 23h06
  3. [Débutant]Problème affichage listbox
    Par erfindel dans le forum VBA Access
    Réponses: 9
    Dernier message: 17/06/2008, 15h47
  4. [débutant] problème affichage données table ds TDBGrid
    Par lidouka dans le forum Composants VCL
    Réponses: 1
    Dernier message: 16/12/2005, 13h50
  5. [débutante] problème affichage sous Firefox
    Par silversky dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 16/09/2005, 13h58

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