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 paintAll


Sujet :

2D Java

  1. #1
    Membre Expert
    Avatar de slim_java
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2008
    Messages
    2 272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2008
    Messages : 2 272
    Par défaut probléme avec paintAll
    salut !
    je veut dessiner le contenu de mon composant(JPanel) dans une image de façon contenu après Ts (laps de temps fixe)
    le problème c'est qu'il aura des modifications dans mon graphique (translation des objet ...) donc je fait un repaint() pour mettre a jour le graphique .
    j'avais un problème de rendu du a l'appel de paintAll(...) qui fait un rafraichissement du graphique(implicitement).ça me convient pas car j'avais déjà fait un repaint() et ça m'a causé des problèmes de rendu .
    comment je peut résoudre ce problème ?
    avec robot.createScreenCapture ,j'obtiens de bonne résultat mais la crainte est le redimensionnement de mon composant .

  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
    Pourquoi faire appel à paintAll . Faut pas y toucher à celle là.

  3. #3
    Membre Expert
    Avatar de slim_java
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2008
    Messages
    2 272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2008
    Messages : 2 272
    Par défaut
    Citation Envoyé par sinok Voir le message
    Pourquoi faire appel à paintAll . Faut pas y toucher à celle là.
    te voila sinok ,je savais que c'est toi qui va me répondre mais tétais pas la.
    qu'est ce que tu me propose ? par quoi je peut changer cette méthode ?

  4. #4
    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
    Tu appelle uniquement les diverses versions de repaint et point barre. Les paintImmediately, paintAll & cie c'est de la tambouille interne de AWT/Swing et il ne faut en aucun cas les appeler.

  5. #5
    Membre Expert
    Avatar de slim_java
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2008
    Messages
    2 272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2008
    Messages : 2 272
    Par défaut
    ce que je veut faire ,c'est obtenir une Image de mon Panneau aprés Ts durant l'animation pour construire un Gif animé ou autre ...donc j'utilise ce code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    public Image getImage(Component component){
       if(component==null){return null;}
       int width = component.getWidth();
       int height = component.getHeight();
       BufferedImage image = new BufferedImage(width, height, 
                                                 BufferedImage.TYPE_INT_RGB);
       Graphics2D g = image.createGraphics();
       component.paintAll(g);
       g.dispose();
       return image;
    }
    pour visualiser mon animation a l'ecran je fait un repaint() a chaque Ts ,et le problème se pose ici ,car un repaint() suivi d'un paintAll() altère le rendu

  6. #6
    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
    En fait tu devrais plutôt travailler d'une façon différente. En effet il serait plus intéressant que tu prépares tes images dans un thread parallèle et que ton composant ne serve uniquement qu'à afficher les images que tu as préparées en parallèle.

  7. #7
    Membre Expert
    Avatar de slim_java
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2008
    Messages
    2 272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2008
    Messages : 2 272
    Par défaut
    Citation Envoyé par sinok Voir le message
    tu prépares tes images
    le probléme réside ici : comment préparer mes image qui présente le contenu de mon panneau autrement sans utiliser paintAll().
    pour ne pas me blocker ,j'ai créer une image et tous ce qui ce fait dans le contexte graphique g se fait dans mon image . ça marche a 80%

  8. #8
    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
    Que contient ton panneau à la base?

  9. #9
    Membre Expert
    Avatar de slim_java
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2008
    Messages
    2 272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2008
    Messages : 2 272
    Par défaut
    des forme 2D : ligne2D ,Ellipse2D......

  10. #10
    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
    Bah dessine ces formes directement dans une image qui sert de buffer, puis dessine cette image sur ton composant. Comme cela tu auras directement les deux choses dont tu as besoin sans effort particulier...

  11. #11
    Membre Expert
    Avatar de slim_java
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2008
    Messages
    2 272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2008
    Messages : 2 272
    Par défaut
    Citation Envoyé par sinok Voir le message
    Bah dessine ces formes directement dans une image qui sert de buffer, puis dessine cette image sur ton composant. Comme cela tu auras directement les deux choses dont tu as besoin sans effort particulier...
    je comprend de ce que tu me dis ( avis d'un professionnel ) que ma solution n'est pas mauvaise ,donc je le garde avec ta petite recommandation

Discussions similaires

  1. VC++ Direct3D8, problème avec LPD3DXFONT et LPD3DTEXTURE8
    Par Magus (Dave) dans le forum DirectX
    Réponses: 3
    Dernier message: 03/08/2002, 11h10
  2. Problème avec [b]struct[/b]
    Par Bouziane Abderraouf dans le forum CORBA
    Réponses: 2
    Dernier message: 17/07/2002, 10h25
  3. Problème avec le type 'Corba::Any_out'
    Par Steven dans le forum CORBA
    Réponses: 2
    Dernier message: 14/07/2002, 18h48
  4. Problème avec la mémoire virtuelle
    Par Anonymous dans le forum CORBA
    Réponses: 13
    Dernier message: 16/04/2002, 16h10

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