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 :

Impossible de dessiner dans un panel


Sujet :

AWT/Swing Java

  1. #1
    Membre extrêmement actif Avatar de Mister Nono
    Homme Profil pro
    Ingénieur Mathématiques et Informatique
    Inscrit en
    Septembre 2002
    Messages
    2 242
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur Mathématiques et Informatique
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 242
    Par défaut Impossible de dessiner dans un panel
    Bonjour,

    Pourquoi le label n'est pas dessiné dans le panel ?

    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
    47
     
    package pesage;
     
    import java.awt.Color;
    import java.awt.Graphics;
     
    import javax.swing.JLabel;
    import javax.swing.JPanel;
     
    public class PBascules extends JPanel
    {
     
        private static final long serialVersionUID = 1L;
     
        /**
         * This is the default constructor
         */
        public PBascules()
        {
            super();
            initialize();
            this.repaint();
        }
     
        /**
         * This method initializes this
         * 
         * @return void
         */
        private void initialize()
        {
            this.setBackground(Color.white);
            System.out.println("ICI 1");
        }
     
        public void paintComponent(Graphics g)
          {
            super.paintComponent(g);
            System.out.println("ICI 2");
     
            JLabel labelMessage = new JLabel();
            labelMessage.setText("TEST");
            labelMessage.setLocation(0, 0);
            labelMessage.setVisible(true);
     
          }
    }
    Merci.

  2. #2
    Membre Expert
    Avatar de CheryBen
    Inscrit en
    Mai 2005
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 599
    Par défaut
    Bonjour, parce que tu as oublié d'appeler la méthode add(Component) pour ajouter le label dans ton panel.

    A ta place je ne surchargerai pas la méthode paintComponent, j'ajouterai le label dans la méthode initialize.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    private void initialize()
        {
            this.setBackground(Color.white);
            System.out.println("ICI 1");
            labelMessage.setText("TEST");
            labelMessage.setLocation(0, 0);
            labelMessage.setVisible(true);
            add(labelMessage);
        }

  3. #3
    Membre extrêmement actif Avatar de Mister Nono
    Homme Profil pro
    Ingénieur Mathématiques et Informatique
    Inscrit en
    Septembre 2002
    Messages
    2 242
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur Mathématiques et Informatique
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 242
    Par défaut
    Citation Envoyé par morph41 Voir le message
    Bonjour, parce que tu as oublié d'appeler la méthode add(Component) pour ajouter le label dans ton panel.
    Oups , j'ai pas fais attention.
    Merci.

    Citation Envoyé par morph41 Voir le message
    A ta place je ne surchargerai pas la méthode paintComponent, j'ajouterai le label dans la méthode initialize.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    private void initialize()
        {
            this.setBackground(Color.white);
            System.out.println("ICI 1");
            labelMessage.setText("TEST");
            labelMessage.setLocation(0, 0);
            labelMessage.setVisible(true);
            add(labelMessage);
        }
    Et pourquoi cela ?
    Et quand la fenêtre est déplacée ou redimentionnée le panel n'est pas redessiné et la dimension de composant n'est pas adaptée aux nouvelles dimensions ?

    A+

  4. #4
    Membre Expert
    Avatar de CheryBen
    Inscrit en
    Mai 2005
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 599
    Par défaut
    Euh si, quand la fenêtre est déplacée, ou redimensionner, tous ses composants sont aussi redessinés.

  5. #5
    Membre extrêmement actif Avatar de Mister Nono
    Homme Profil pro
    Ingénieur Mathématiques et Informatique
    Inscrit en
    Septembre 2002
    Messages
    2 242
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur Mathématiques et Informatique
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 242
    Par défaut
    Citation Envoyé par morph41 Voir le message
    Euh si, quand la fenêtre est déplacée, ou redimensionner, tous ses composants sont aussi redessinés.
    Merci encore.

Discussions similaires

  1. [Débutant] dessiner dans un panel sur un click
    Par pg00753k dans le forum C#
    Réponses: 1
    Dernier message: 09/02/2012, 21h34
  2. Dessiner dans un panel
    Par moutey dans le forum 2D
    Réponses: 3
    Dernier message: 13/11/2007, 09h46
  3. dessiner un cercle dans un panel
    Par Jayceblaster dans le forum Windows Forms
    Réponses: 2
    Dernier message: 05/09/2007, 15h22
  4. [pylab]mettre le dessin dans un panel
    Par deeal dans le forum Calcul scientifique
    Réponses: 5
    Dernier message: 01/06/2005, 13h37
  5. Dessin dans les panels d'un TStatusBar
    Par Amenofis dans le forum Composants VCL
    Réponses: 4
    Dernier message: 31/08/2004, 18h45

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