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 :

Dessin persistant sur JPanel


Sujet :

2D Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Décembre 2007
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 25
    Par défaut Dessin persistant sur JPanel
    Bonsoir,
    J'ai une interface graphique en Swing dans laquelle je souhaite avoir deux JPanel superposés et pouvoir dessiner sur l'un sans que cela impacte l'autre...
    Apparemment, ce n'est pas possible car le paint() redessine tout...
    En gros, j'ai :
    -JPanel1 : sur lequel je dessinerai une grille avec cases pleines ou pas
    -JPanel2 : sur lequel je dessine des points et des vecteurs

    J'aimerais que ce que je dessine sur le JPanel2 soit persistant, c'est à dire que ce soit jamais effacé, même si le JPanel1 est redessiné...
    Je sais pas si c'est faisable en Swing... donc je voulais savoir si c'était judicieux de faire comme ça ....

    Merci !

  2. #2
    Invité
    Invité(e)
    Par défaut
    Le paint(Graphics G) ne va redessiner QUE dans son composant Graphics.

    Parcontre la difficulté est de superposer 2 JPanel. Peut-être peux tu regarder du coté du CardLayout() qui permet justement de superposer des panneaux et d'en afficher en avant mais je ne sais pas vraiment se qu'il fait avec ceux qui sont derrière. Si il les garde afficher alors le fait de faire un :
    jPanel1.setOpaque(false);

    devrait te permettre de voir le jPanel2 derrière tout en pouvant dessiner sur le panel au premier plan.

  3. #3
    Membre averti
    Inscrit en
    Décembre 2007
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 25
    Par défaut
    Bonjour,
    Oui j'ai testé ça aussi, mais c'est pareil, c'est à dire on obtient le même comportement que si je superpose à la main les deux JPanel.
    La transparence est bien là au début, c'est à dire si je met le panel du fond en jaune, et que je dessine par dessus avec l'autre, on voit bien le jaune derrière...mais si je veux repeindre le fond en mettant autre chose, et bien je perds ce qu'il y a devant...

  4. #4
    Invité
    Invité(e)
    Par défaut
    A chaque fois que tu touches au JPanel de derriere il faut que tu fasses un repaint() de celui de devant alors.
    Mais il y a peut etre mieux.

  5. #5
    Membre averti
    Inscrit en
    Décembre 2007
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 25
    Par défaut
    Bonjour,
    L'ennui c'est que ce que je dessine devant, j'en garde pas trace pour l'instant, c'est à dire que je ne peux pas faire de repaint()... c'est pour ça que je voulais un truc persistant en fait.. Par exemple sur le jpanel de devant, j'ai un graphe (plein de points reliés entre eux). Sur le panel du fond, j'ai une grille avec certaines cases allumés ou pas. J'utilisais justement la rémanence de l'affichage pour ne pas avoir à stocker quelque part le graphe...et éviter de devoir faire un réaffichage complet à partir d'un graphe stocké quelque part...
    Merci

  6. #6
    Invité
    Invité(e)
    Par défaut
    Tu peux poster du code stp ?

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

Discussions similaires

  1. Dessin sur JPanel et refresh
    Par Djakisback dans le forum Composants
    Réponses: 1
    Dernier message: 22/12/2008, 20h10
  2. [Dessin] Dégradé sur JPanel
    Par Piolet dans le forum 2D
    Réponses: 8
    Dernier message: 29/10/2007, 01h22
  3. Réponses: 8
    Dernier message: 27/03/2006, 17h12
  4. Dessiner dans différents JPanels
    Par N@sH dans le forum Agents de placement/Fenêtres
    Réponses: 2
    Dernier message: 20/05/2005, 15h39
  5. Dessiner dans un JPanel
    Par Oliveuh dans le forum Composants
    Réponses: 5
    Dernier message: 19/07/2004, 12h13

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