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 :

disparition des images du panel dès qu on sort la souri


Sujet :

2D Java

  1. #1
    Membre à l'essai
    Inscrit en
    Juin 2005
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 23
    Points : 18
    Points
    18
    Par défaut disparition des images du panel dès qu on sort la souri
    salut! Voila je voudrai sur un JPanel (pcq je travaille avec swing) quand je clique dessus ya une image qui s'y affiche. Le problème que j'ai c'est qu'elle disparait a chaque fois que je sors la souris du panel.j ai fais des peti tests et il s'est avérer que la palette se réinitialise a chaque fois. comment faire pour maintenir les images susceptibles d etre ajouter après un click.MERCI

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 128
    Points : 151
    Points
    151
    Par défaut
    En pricipe, pour que ton image reste dans le JPanel, tu devrais surcharger la méthode paintComponent(Graphics). Là dedans tu fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    g.drawImage(image,x,y,null)
    Cette méthode est appelée à chaque fois que le panel est redessiné.

  3. #3
    Membre averti Avatar de let_me_in
    Inscrit en
    Mai 2005
    Messages
    441
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 441
    Points : 437
    Points
    437
    Par défaut
    voila Marcin a tout dit, mais ce que je n'arrive pas a comprendre c'est:
    Le problème que j'ai c'est qu'elle disparait a chaque fois que je sors la souris du panel.
    puisque d'apres ce que je sache, la methode paintComponent n'est appellee que lorsque le panel est modifie (redimensionnement, changement de position,..) ou un de ces container.
    tu peux montrer ton code?
    qui dit Dieu n'existe pas dis que les programmes tournent sans processeur.

  4. #4
    Membre actif Avatar de Belegkarnil
    Inscrit en
    Juin 2005
    Messages
    289
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Juin 2005
    Messages : 289
    Points : 205
    Points
    205
    Par défaut
    Donne le code pour que l'on puisse voir où est l'erreur. Si c'est trop long, juste ce qui est intéressent pour le problème ;-)

  5. #5
    Membre à l'essai
    Inscrit en
    Juin 2005
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 23
    Points : 18
    Points
    18
    Par défaut
    Bonjour,
    je vais essayer de vous expliquer un peu plus la source du problème .
    alors mon application java est constituée d'une toolbar(elle est composée d'un certain nombre de boutons qui représente chacun une image ) et d' une JTabbedPane (sur l'un des tab de la JTabbedPane ,j'ai un JPanel utilisé comme une palette sur laquelle je dois poser des images).
    quand je click sur le bouton représentant l'image et je click sur la JTabbedPane ,l'image est chargée puis déssinée.Le problème c'est que quand je redimensionne ma fenetre ou quand je sors de la JTabbedPane pour selectionner une autre image , l'image dessinée disparait, on dirait que mon panel est reinitialisé (je pense que la méthode paint est appelée une autre fois )
    Là c'est le code de mon panel ou je dois poser mes images
    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
    [color=green][/color]
     
    package simulix;
     
     
    import java.awt.Graphics;
    import java.awt.Image;
    import java.awt.Point;
    import java.awt.Toolkit;
    import java.awt.event.*;
     
    import javax.swing.JLabel;
    import javax.swing.JPanel;
     
    public class Palette extends JPanel implements MouseListener{
    	   Graphics g =getGraphics();
     
    	         public void mouseClicked(MouseEvent e){
        	    	   Graphics gi =getGraphics(); 	   
     
        	    		   Image img=Toolkit.getDefaultToolkit().getImage("./composant1.gif");
        	    		   prepareImage(img,this);
        	    		   gi.drawImage(img,e.getX(),e.getY(),this);		   
        	    	   }
     
           public void mousePressed(MouseEvent e){}
           public void mouseReleased(MouseEvent e){}
           public void mouseExited(MouseEvent e){
     
     
           }
     
           public void mouseEntered(MouseEvent e){
     
        	         }
     
     
             public Palette()
             {
            	 addMouseListener(this);
             }
     
    	   public void paint(Graphics g){
     
    	   }
    	   }//fin de JPanel
    Désolée si j'étais trop longue

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 128
    Points : 151
    Points
    151
    Par défaut
    Bon alors effectivement ton problème se situe à l'endroit où tu dessines. En effet, ton image sera dessinée juste au clic de la souris, mais disparaîtra au prochain repaint(). Pour que l'image reste, il faut que ça soit la méthode paintComponent qui se charge de la dessiner - comme ça elle sera redessinée en permanence.
    Dans ton cas, le plus simple me semble être d'avoir en mémoire un tableau d'images, et de rajouter tes images à ce tableau lorsque tu cliques avec la souris. Quant à la méthode paintComponent, il suffira qu'elle dessine toutes les images de ton tableau...

  7. #7
    Membre à l'essai
    Inscrit en
    Juin 2005
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 23
    Points : 18
    Points
    18
    Par défaut
    Voila j ai utilisé la méthode PaintComponent et l'idée de stckage des images dans un tableau. ca march!!!
    MERCI Marcin

  8. #8
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 128
    Points : 151
    Points
    151
    Par défaut
    De rien
    Tu penses à un petit clic sur "Résolu" (en bas de l'écran, à gauche) ?

  9. #9
    Membre à l'essai
    Inscrit en
    Juin 2005
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 23
    Points : 18
    Points
    18
    Par défaut
    c fait

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

Discussions similaires

  1. Disparition des images sur les boutons
    Par troumad dans le forum GTK+ avec C & C++
    Réponses: 6
    Dernier message: 19/10/2012, 20h59
  2. Réponses: 3
    Dernier message: 16/09/2008, 17h10
  3. [MFC] Disparition des images dans une CListCtrl
    Par AlfredNakache dans le forum MFC
    Réponses: 15
    Dernier message: 16/08/2006, 10h34

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