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

AWT/Swing Java Discussion :

Afficher plusieurs images dans un jDesktop


Sujet :

AWT/Swing Java

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 15
    Points : 10
    Points
    10
    Par défaut Afficher plusieurs images dans un jDesktop
    Bonjour!
    Pour les besoins d'une application, je dois être capable d'ouvrir plusieurs iamges sur un espace de travail: pour cela j'ai utilisé un composant jDesktop, dans lequel chaque nouvelle image est ouverte dans une nouvelle fenêtre fille. Le problème est que lorsque je déplace une des fenêtre filles par dessus une autre, les deux images semblent vouloir se rafraichir en même temps, et j'ai un gros bug graphique.
    Y-at-il une astuce pour ne pas avoir ce problème?

    Merci

  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
    Ca depend de comment tu as implemente ca. Et puis ta description du bug n'est pas tres precise.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 15
    Points : 10
    Points
    10
    Par défaut
    Désolé pour le manque d'infos: c'est une appli que je développe pour une boite internationale, en amtière de sécurité multimédia, donc je ne sais pas trop si je peux diffuser du code... Disons qu'à chaque ouverture d'image, je créée une nouvelle fenêtre fille dans le jdesktop, et je lui attribue un panel qui hérite de jComponet, sur lequel je dessine l'image

    Pour le bug, voici un screen: on voit bien le mouvement quand j'ai draggé l'image par dessus l'autre:


    Merci!![/img]

  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
    Peux-tu montrer juste la partie qui dessine une image ?

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 15
    Points : 10
    Points
    10
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    //Cette méthode est appelée à chaque fois que le panel est mis à jour
        public void paintComponent(Graphics g) {
            g.drawImage(bg,0,0,null);
            UpdatePanel();
        }
    voilà, bg étant une image

  6. #6
    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
    Que fait UpdatePanel() ?

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 15
    Points : 10
    Points
    10
    Par défaut
    Appel à des méthodes qui dessine des portions floutées, exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    void UpdatePanel()
        {
            this.getGraphics().drawImage(bg, 0, 0, null);
            dessinerModif();
            dessiner();        
        }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    void dessinerModif() {
            int n = ListeModif.size();                          //Récupération de la taille de la liste
            Modif m;                                            //Cet objet recevra la Modif traitée
            for(int i=0; i<n; i++) {
                //On récupère la forme contenue à l'index i
                m = (Modif) ListeModif.get(i);
                //On appelle la méthode qui affiche la Modif
                m.dessiner(this.getGraphics());
            }
        }
    Et pour finir, la méthode dessiner d'un objet de type Modif:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    void dessiner(Graphics g)
        {
            //La portion est affichée au point (xDep, yDep)
            g.drawImage(iPortionTrt, xDep, yDep, null); 
        }
    Où iPortionTrt est de type image

    Voilà

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 15
    Points : 10
    Points
    10
    Par défaut
    up
    Merci

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 15
    Points : 10
    Points
    10
    Par défaut
    up svp!
    Merci

  10. #10
    Membre émérite
    Avatar de xavlours
    Inscrit en
    Février 2004
    Messages
    1 832
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 1 832
    Points : 2 410
    Points
    2 410
    Par défaut
    J'ai l'impression que ton problème vient du fait que l'image n'est pas repeinte en entier. As-tu essayé d'appeler repaint() quand le composant est déplacé (avec un ComponentListener) ?

  11. #11
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 15
    Points : 10
    Points
    10
    Par défaut
    Le problème c'est que si je fais ça, il ne me redessine que 'larrière plan, et pas les formes floutées :/

Discussions similaires

  1. [Débutant] Comment afficher plusieurs images dans des axes differents
    Par DOUBLE_H dans le forum Interfaces Graphiques
    Réponses: 8
    Dernier message: 07/06/2011, 23h22
  2. [Débutant] comment afficher plusieurs images dans une interface
    Par zakary dans le forum Interfaces Graphiques
    Réponses: 2
    Dernier message: 02/05/2009, 10h47
  3. afficher plusieurs images dans la même figure avec \hfill
    Par romanticide dans le forum Tableaux - Graphiques - Images - Flottants
    Réponses: 2
    Dernier message: 24/04/2009, 09h14
  4. [Débutant] comment afficher plusieurs images dans une seule interface ?
    Par youssa81 dans le forum Interfaces Graphiques
    Réponses: 3
    Dernier message: 06/02/2009, 00h36
  5. Afficher plusieurs images dans le même objet Figure
    Par hanane78 dans le forum MATLAB
    Réponses: 3
    Dernier message: 06/10/2007, 15h40

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