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

 Java Discussion :

JPanel personnalisé ne s'affiche pas


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Décembre 2008
    Messages
    72
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Décembre 2008
    Messages : 72
    Par défaut JPanel personnalisé ne s'affiche pas
    Bonjour.
    Je souhaite afficher des jpanels.
    Je construis donc mon panel standard dans une class que j'instancierai plus tard.
    Code java : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    public class PanneauTest extends JPanel{
    	public PanneauTest(){
    		JPanel panel = new JPanel(new GridLayout(4,1,5,5));
    		panel.add(new JLabel("TEST"));
    	}
     
    }

    Je souhaite donc afficher mon panel dans une frame (autre class).
    Code java : 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
     
    public class TestClass {
     
     
    		public static void main(String[] args) {
    			// Creation de la fenetre
    			JFrame fenetre = new JFrame();
    			fenetre.setTitle("fenetre test");
    			JLabel panel = new PanneauTest();
    			fenetre.getContentPane().add(panel);
     
    			fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    			fenetre.pack();
    			// Visibilité de la fenetre
    			fenetre.setVisible(true);
    		}
     
    	}

    le souci que je rencontre, outre le fait que je ne suis pas au top avec java, c'est que mon panel ne s'affiche pas ...
    Une idée ?
    Merci pour votre participation.

  2. #2
    Membre Expert
    Avatar de slim_java
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2008
    Messages
    2 272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2008
    Messages : 2 272
    Par défaut
    dans ta classe PanneauTest

    tu dois faire add(panel)


    et dans TestClass tu dois faire PanneauTest panel = new PanneauTest();

    et non JLabel panel = new PanneauTest();

  3. #3
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    avec ton code de PanneauTest tu a deux JPanel. PanneauTest lui même, qui est vide et un JPanel que tu instancie dans le constructeur, ne relier à rien et jette immédiatement après.

    Soit tu n'instancie pas de JPanel et tu met directement le label dans PanneauTest, soit tu ajoute le JPanel créé dans PanneauTest. Si tu ne fait pas l'un ou l'autre, PanneauTest reste vide.

  4. #4
    Membre confirmé
    Inscrit en
    Décembre 2008
    Messages
    72
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Décembre 2008
    Messages : 72
    Par défaut
    Merci pour vos réponses !!
    avec vos remarques forcément ca fonctionne
    J'ai encore une question sur le sujet avant de mettre résolu.

    avec ton code de PanneauTest tu a deux JPanel. PanneauTest lui même, qui est vide et un JPanel que tu instancie dans le constructeur,
    Est-ce que l'instanciation JPanel PanneauTest = new JPanel(); est implicite du fait de l'héritage?
    Merci

  5. #5
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Citation Envoyé par ruza01 Voir le message
    Est-ce que l'instanciation JPanel PanneauTest = new JPanel(); est implicite du fait de l'héritage?
    Merci
    Je suis pas sur de comprendre la question là

    Si tu pose la question de l'appel au constructeur parent. Si tu n'en met pas un dans ton constructeur de PanneauTest, oui le constructeur par défaut du parent est appelé. Sinon c'est le constructeur explicitement appelé du parent qui est utilisé. Dans tous les cas PanneauTest est un JPanel vu ton héritage:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public class PanneauTest extends JPanel

  6. #6
    Membre confirmé
    Inscrit en
    Décembre 2008
    Messages
    72
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Décembre 2008
    Messages : 72
    Par défaut
    En fait je ne comprend pas lorsque tu me dis que j'ai deux jpanels (panneauTest et panel).
    le panneauTest n'est pas instancié... en théorie je ne l'ai pas encore...non?

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

Discussions similaires

  1. Un objet JPanel qui ne s'affiche pas.
    Par poppels dans le forum Agents de placement/Fenêtres
    Réponses: 4
    Dernier message: 09/03/2009, 09h54
  2. un objet JPanel qui ne s'affiche pas
    Par dark_geek dans le forum Agents de placement/Fenêtres
    Réponses: 6
    Dernier message: 05/03/2009, 21h41
  3. Réponses: 5
    Dernier message: 28/03/2008, 11h28
  4. JPanel ne s'affiche pas en plein ecran
    Par opiece dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 03/03/2008, 10h37
  5. changement JPanel ne s'affiche pas
    Par zulot dans le forum AWT/Swing
    Réponses: 1
    Dernier message: 27/11/2007, 14h23

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