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

Applets Java Discussion :

problemes d'affichage avec paint


Sujet :

Applets Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Octobre 2007
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 55
    Par défaut problemes d'affichage avec paint
    J'ai ma méthode paint :
    public void paint(Graphics page2)
    {
    page = page2;
    if(compteurT!=0)
    {
    page.fillRect(100,100,40,40);
    System.out.println("affichage");
    }
    }


    et ma méthode repaint :
    public void repaint()
    {
    compteurT += 1;
    this.paint(page);
    }
    J'aimerais savoir pourquoi quand j'active ma méthode repaint() le message "affichage" s'affiche mais rien ne s'affiche sur l'applet(alors que j'aimerais qu'un carré s'affiche).

  2. #2
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    1) vérifie la couleur utilisée, qu'elle n'est pas la même que celle du fond (page.setColor(....) pour définir la couleur à utiliser)
    2) Vérifie que tu fait bien le fillrect dans une zone visible du composant dont tu surcharge paint()
    3) Vérifie qu'aucun autre composant ne se dessine au-dessus (fait par exemple un Thread.sleep(6000) pour voir si çà s'affiche pour disparaitre après)

  3. #3
    Membre confirmé
    Inscrit en
    Octobre 2007
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 55
    Par défaut
    Merci, j'ai essayé les 3 choses que tu as dis mais ca ne marche toujours pas.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 32
    Par défaut


    je connais pas les applets mais j'avais ce genre de problème avec un de mes programme aussi après quelques recherche j'ai retrouver ceci :

    http://java.sun.com/products/jfc/tsc...ing/index.html

    Peut être ca peut aider pour ton appelt .. on peut y lire notemment ceci


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     
    public void paint(Graphics g) {
    	    // paint my contents first...
    	    // then, make sure lightweight children paint
    	    super.paint(g); 
            }
    if the call to super.paint() is missing, then the container's lightweight descendents won't show up (a very common problem when JDK 1.1 first introduced lightweights).

    faut toujours faire attention quand on surcharge des méthode du genre paint ou repaint ... car il faut pas oublier de demander la mise a jour du composant peut être ceci repond a ton problème...

    Sinon moi dans mon application Swnig pour eviter de devoir surcharger paint ou repaint j'avais utiliser la méthode paintComponent et dedans fallait pas oublier de faire appel à la méthode super.paintComponent(g) .... et dans le reste du code je fesais simplement appel à repaint()..

    regarde si ca résout ton prolbème

  5. #5
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Remplace ton

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.out.println("affichage") ;
    par

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    System.out.println("affichage dans zone ("
        +page2.getClipBounds().x +","
        +page2.getClipBounds().y +") -> ("
        +page2.getClipBounds().width +","
        +page2.getClipBounds().height +")");
    et donne nous le résultat, çà va tafficher la "clipbound" utilisé par paint(), si ton rectangle n'entre pas dans ce clibbound, rien ne sera affiché. La clibBound est la zone déterminée par le système d'exploitation comme nécessitant d'être redessinée.

  6. #6
    Membre confirmé
    Inscrit en
    Octobre 2007
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 55
    Par défaut resultat
    Voilà le resultat :

    affichage dans zone (0,0) -> (586,456)
    Merci mais crois que ce n'est pas ca le probleme parce-que lorsque j'execute mon applet et que je ne met pas la condition (compteur != 0) le carre s'affiche.

Discussions similaires

  1. Probleme d'affichage avec un DataGridView
    Par kekesilo dans le forum Windows Forms
    Réponses: 3
    Dernier message: 30/01/2007, 14h12
  2. Probleme d'affichage avec TextOutA
    Par NouRSS dans le forum C++Builder
    Réponses: 3
    Dernier message: 27/05/2006, 15h01
  3. [Graphic2D] Probleme d'affichage avec drawLine()
    Par Yannick_from_31 dans le forum 2D
    Réponses: 12
    Dernier message: 23/05/2006, 18h09
  4. Problème d'affichage avec top
    Par HacHHacH dans le forum Shell et commandes GNU
    Réponses: 1
    Dernier message: 03/04/2006, 01h25
  5. Réponses: 6
    Dernier message: 10/11/2005, 08h58

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