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 :

[SWING] Recouverture de dessin


Sujet :

2D Java

  1. #1
    Membre averti
    Inscrit en
    Avril 2004
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 18
    Par défaut [SWING] Recouverture de dessin
    Bonjour,

    J'ai crée un composant DrawPanel qui étend la classe JPanel.
    J'ajoute à ce composant d'autre composants Lame qui étendes la classe JLabel.
    Les lames dessinent:
    - Une limite haute
    - Un axe central
    - Une limite basse
    - Un point
    - 6 bandes de couleurs (Horizontales)

    Le DrawPanel relie par un trait les points dessiné par les lames.

    Mon problème et que les lames sont dessinées aprés le panneau qui les contienent, ce qui fait que les lignes qui relient les points sont recouvertes par les bandes de couleurs.

    Quelqu'un saurait comment demander au lamelles contenu dans le drawPanel de se dessiné aprés ?

    Je suis open à d'autre solution

    Merci d'avance

    Cyrille

  2. #2
    Gfx
    Gfx est déconnecté
    Expert confirmé
    Avatar de Gfx
    Inscrit en
    Mai 2005
    Messages
    1 770
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 770
    Par défaut
    Il faut surcharger paint() pour eviter l'appel a paintChildren(). L'appel a paintComponent() de ton JPanel va te permettre de dessiner le JPanel lui-meme mais ses enfants, tes Lame, vont etre dessine apres et par dessus (puisque le JPanel contient ses enfants).

    Dans ton cas, je ne surchargerais pas JPanel pour les Lame mais je ferais ma propre classe avec une methode paint(Graphics g) dedans. Exemple :

    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
     
    class Lame {
      int x;
      int y;
      int width;
      int height;
     
      public void paint(Graphics g) {
      }
     
      public void setBounds(int x, int y, int w, int h) {
        // ...
      }
    }
     
    class DrawPanel {
      List<Lame> lames;
     
      public void addLame(Lame l) {
        lames.add(l);
      }
     
      public void paintComponent(Graphics g) {
        drawLiaisons();
        for (Lame l: lames) {
          l.paint(g);
        }
      }
    }
    Ce code n'est pas complet mais te donne l'idee.

Discussions similaires

  1. [Swing][Graphics2D] dessiner une flèche
    Par Galima dans le forum 2D
    Réponses: 13
    Dernier message: 03/12/2011, 23h31
  2. SWING architecture pour dessiner
    Par Elhdia dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 07/02/2011, 16h17
  3. [SWING][Dessin] Effet de répétition non désiré
    Par Invité dans le forum AWT/Swing
    Réponses: 18
    Dernier message: 11/12/2006, 10h23
  4. [swing] Dessiner contour d'un composant
    Par issou dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 01/03/2006, 11h57
  5. [swing] outils pour dessiner des interfaces swing
    Par mlequim dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 09/02/2006, 14h32

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