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

Interfaces Graphiques en Java Discussion :

dessin disparait que je redimenssionne la fenetre


Sujet :

Interfaces Graphiques en Java

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    292
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 292
    Par défaut dessin disparait que je redimenssionne la fenetre
    slt, je suis entreint de faire une application de discussion en rmi, dans mon interface il'y'a un espace de dessin(JPanel) si un utilisateur dessine avec la souris qqchose le dessin doit apparaitre pour tous les chatteurs, pour l'instant ça fonctionne pas mal, mais le pbm c que quand je redimonssionne la fenetre ou je la reduit completement, le dessin disparait, que doit-je faire
    aidez moi SVP
    NB=pour l'espace de dessin(JPanel) c une classe herite de JPanel ou dans le code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    //événement déplacement souris avec bouton enfoncé
    public void mouseDragged(MouseEvent e){
        Graphics g = getGraphics();
        sendDesign(xPrec, yPrec, e.getX(), e.getY());
        mouseMoved(e);
        }
    //événement lors du déplacement de la souris
    public void mouseMoved(MouseEvent e){ 
    xPrec = e.getX();
    yPrec = e.getY();
    }
    la methode sendDesign est dans la classe main elle envoie les coordonnee du dessin a tout les chatteurs, y compris celui qui est le dessinateur,et eux qui dessine le dessin correspondant

  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
    Bonjour,

    Le problème ici est que tu ne respecte pas du tout la façon standard utilisée pour faire du dessin sur un composant Swing.

    En effet en utilisant la méthode getGraphics, tu obtien un contexte graphique temporaire, sachant que le composant est en partie ou totalement redessiné à chaque appel à la méthode repaint. Le dessin du composant se réalise dans sa méthode paintComponent. Pour ajouter des directives de dessin supplémentaires il faut donc redéfinir la méthode paintComponent(Graphics g) de ton JComponent et réaliser toutes les opérations de dessin en son intérieur. Il faut également penser à sauvegarder toutes les opérations précédentes, le contexte graphique changeant à chaque repaint.

    DOnc grosso modo, deux choses à faire:


    1. Ne dessiner sur un composant uniquement via la méthode paintCOmponent
    2. Sauvegarder tous les éléments à dessiner dans une image ou dans une structure de données adaptée.

Discussions similaires

  1. Réponses: 14
    Dernier message: 30/04/2010, 07h04
  2. Une partie de mon site disparait quand je diminue la fenetre
    Par xess91 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 31/03/2009, 10h26
  3. mon dessin disparait lors de passage a une autre fenetre
    Par tifawete dans le forum Windows Forms
    Réponses: 3
    Dernier message: 14/07/2008, 12h58
  4. Réponses: 70
    Dernier message: 23/08/2007, 16h57
  5. attitude d'une Table lors d'un redimenssionnement de fenetre
    Par flow-bolox dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 08/07/2007, 20h15

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