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 :

Mon JPanel ne s'affiche pas dans ma JFrame


Sujet :

Java

  1. #1
    Membre du Club Avatar de Sekmeth
    Femme Profil pro
    Assistante scientifique
    Inscrit en
    Janvier 2008
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Assistante scientifique
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2008
    Messages : 65
    Points : 63
    Points
    63
    Par défaut Mon JPanel ne s'affiche pas dans ma JFrame
    Bonsoir à tous,

    Voilà ça fait un moment que je planche sur un truc qui m'énerve !

    J'ai une classe DrawArea qui étend JPanel, et sur laquelle je suis censée plus tard, dessiner des cercles.

    Pour le moment, le problème qu'elle me pose, cette classe, c'est qu'elle ne veut pas s'afficher dans mon JPanel

    C'est sûrement un truc tout bête mais là je sèche !

    Pour info ma fenetre et mon panel de droite s'affichent sans problèmes.

    Code de la classe DrawArea
    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
     
    import java.awt.Color;
    import java.awt.FlowLayout;
    import java.awt.Graphics;
     
    import javax.swing.JButton;
    import javax.swing.JPanel;
    import javax.swing.JLabel;
     
    public class DrawArea extends JPanel {
     
    	private int xCoord;
    	private int yCoord;
    	private int height;
    	private int width;
     
     
    	public DrawArea(){
     
    		setBackground(Color.BLACK);
     
    		add(new JLabel("test"));
     
     
    	}
    	/**
             pleins de getters/setters...
           */
     
    	public void paintComponent(Graphics g){
     
    		super.paintComponent(g);
     
    	}

    Et voici ma JFrame :

    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
    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
     
     
    import java.awt.BorderLayout;
    import java.awt.Color;
    import java.awt.FlowLayout;
    import java.awt.GridLayout;
     
    import javax.swing.JButton;
    import javax.swing.JComboBox;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JPanel;
    import javax.swing.JTextField;
     
    public class DrawingFrame extends JFrame {
     
    	private DrawArea drawArea = new DrawArea();
     
    	public DrawingFrame(){
     
    		super("Drawing Ovals to your choice");
     
    		//set the size
    		setSize(600,300);
     
     
    		//creating a border layout for the config choices
    		JPanel config = new JPanel (new BorderLayout() );
    		add(config, BorderLayout.LINE_END);
     
     
    /*
     
    Pleins de code entre deux qui concerne mon JPanel config
     
    */
     
    		//adding the drawing area
    		getContentPane().add(drawArea, BorderLayout.LINE_START);
    		drawArea.repaint();
     
     
    	}
     
    }

  2. #2
    Membre expérimenté
    Avatar de visiwi
    Profil pro
    Inscrit en
    Février 2008
    Messages
    1 050
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 1 050
    Points : 1 340
    Points
    1 340
    Par défaut
    Salut,

    Comprends pas ton problème, parce qu'il s'affiche ton panel DrawArea !

  3. #3
    Membre du Club Avatar de Sekmeth
    Femme Profil pro
    Assistante scientifique
    Inscrit en
    Janvier 2008
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Assistante scientifique
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2008
    Messages : 65
    Points : 63
    Points
    63
    Par défaut
    Pourquoi alors je vois pas le fond noir et le label test que j'y ajouté ?

  4. #4
    Membre expérimenté
    Avatar de visiwi
    Profil pro
    Inscrit en
    Février 2008
    Messages
    1 050
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 1 050
    Points : 1 340
    Points
    1 340
    Par défaut
    La question ne serait-elle pas "pourquoi, tu vois ce fichu panel ?"

    J'ai recopier ton code tel quel et créé un main, et je vois ton panel noir avec le mot "test" !

    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
    import java.awt.Color;
    import java.awt.FlowLayout;
    import java.awt.Graphics;
     
    import javax.swing.JButton;
    import javax.swing.JPanel;
    import javax.swing.JLabel;
     
    public class DrawArea extends JPanel {
     
    	private int xCoord;
    	private int yCoord;
    	private int height;
    	private int width;
     
     
    	public DrawArea(){
     
    		setBackground(Color.WHITE);
     
    		add(new JLabel("test"));
     
     
    	}
    	/**
             pleins de getters/setters...
           */
     
    	public void paintComponent(Graphics g){
     
    		super.paintComponent(g);
     
    	}
    }
    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
    48
    import java.awt.BorderLayout;
    import java.awt.Color;
    import java.awt.FlowLayout;
    import java.awt.GridLayout;
     
    import javax.swing.JButton;
    import javax.swing.JComboBox;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JPanel;
    import javax.swing.JTextField;
     
    public class DrawingFrame extends JFrame {
     
    	private DrawArea drawArea = new DrawArea();
     
    	public DrawingFrame(){
     
    		super("Drawing Ovals to your choice");
     
    		//set the size
    		setSize(600,300);
     
     
    		//creating a border layout for the config choices
    		JPanel config = new JPanel (new BorderLayout() );
    		add(config, BorderLayout.LINE_END);
     
     
    /*
     
    Pleins de code entre deux qui concerne mon JPanel config
     
    */
     
    		//adding the drawing area
    		getContentPane().add(drawArea, BorderLayout.LINE_START);
     
     
     
    	}
     
    	public static void main(final String[] args) {
    		DrawingFrame f = new DrawingFrame();
    		f.setVisible(true);
    	}
     
    }
    A noter que ton repaint() ne sert à rien.
    A noter que j'ai modifié ta couleur Noir en Blanc...

  5. #5
    Membre du Club Avatar de Sekmeth
    Femme Profil pro
    Assistante scientifique
    Inscrit en
    Janvier 2008
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Assistante scientifique
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2008
    Messages : 65
    Points : 63
    Points
    63
    Par défaut
    T'as mis quoi dans ton main ?

    Parce que c'est pas pour être pénible mais sincèrement je le vois pas ou en tout cas je vois pas de fond noir.. Ni de label..

    C'est trop space.

  6. #6
    Membre expérimenté
    Avatar de visiwi
    Profil pro
    Inscrit en
    Février 2008
    Messages
    1 050
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 1 050
    Points : 1 340
    Points
    1 340
    Par défaut
    Le main est dans la classe DrawingFrame que je viens de copier dans le précédent post
    Lance la classe DrawingFrame, et la fenêtre s'affiche avec ton panel.

  7. #7
    Membre du Club Avatar de Sekmeth
    Femme Profil pro
    Assistante scientifique
    Inscrit en
    Janvier 2008
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Assistante scientifique
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2008
    Messages : 65
    Points : 63
    Points
    63
    Par défaut
    Oui j'ai vu après mea culpa..

    Nan mais j'exécute le code, j'exécute..

    Ne me prenez pas pour une folle mais je vois pas mon JPanel..

    J'ai envoyé mon code a un ami, il me dit qu'il ne voit rien non plus =(

    Voici ce que je vois dans la pièce jointe (l'affichage de droite est géré par mon autre JPanel)
    Images attachées Images attachées  

  8. #8
    Membre expérimenté
    Avatar de visiwi
    Profil pro
    Inscrit en
    Février 2008
    Messages
    1 050
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 1 050
    Points : 1 340
    Points
    1 340
    Par défaut
    Tu ne dois pas exécuter le code que tu as posté, l'écran ne correspond pas.
    Voici une copie écran de ce que j'obtiens lorsque je lance le code que tu as posté.
    Images attachées Images attachées  

  9. #9
    Membre expérimenté
    Avatar de visiwi
    Profil pro
    Inscrit en
    Février 2008
    Messages
    1 050
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 1 050
    Points : 1 340
    Points
    1 340
    Par défaut
    Le mieux serait peut-être de poster ton code dans sa globalité.

  10. #10
    Membre du Club Avatar de Sekmeth
    Femme Profil pro
    Assistante scientifique
    Inscrit en
    Janvier 2008
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Assistante scientifique
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2008
    Messages : 65
    Points : 63
    Points
    63
    Par défaut
    Nan mais je suis pas stupide (je sais que ça peut paraître fou je comprends pas moi-même) mais j'exécute bien le bon code !

    J'ai même rebooté eclipse, recréé un projet, recopié mon code, renommé mes classes.. pas moyen..

    Mais après ! Un ami qui s'est penché sur le truc, a trouvé la solution. (Et comme je pensais, c'est vraiment très con ! )

    Mais forcément jamais t'aurais pu trouver, vu que t'avais pas tout le code.. En fait dans ma classe DrawArea, j'ai créé des getters /setters automatiquement pour mes données membres.
    Et comme j'ai deux données qui s'appellent width et height, les getters et setters correspondants portaient le même nom que des méthodes qui existent de base dans JPanel, et que je surchargeais.. Du coup ça me settait la hauteur et la largeur de mon JPanel à 0 !

    J'imagine que t'as bien du croire que j'étais folle ou que je faisais exprès.. J'ai cru devenir folle aussi !

    EDIT : oui voilà j'étais prête à te proposer, le truc du code en entier, ça aurait marché xD

  11. #11
    Membre expérimenté
    Avatar de visiwi
    Profil pro
    Inscrit en
    Février 2008
    Messages
    1 050
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 1 050
    Points : 1 340
    Points
    1 340
    Par défaut
    Pas de problème. C'était l'histoire de fou de la journée
    Peut-être qu'avec ce pseudo ressemblant à la déesse égyptienne de la guerre, me suis-je dis un instant que tu me chercherais querelle, mais juste un instant
    Bonne continuation !

  12. #12
    Membre du Club Avatar de Sekmeth
    Femme Profil pro
    Assistante scientifique
    Inscrit en
    Janvier 2008
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Assistante scientifique
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2008
    Messages : 65
    Points : 63
    Points
    63
    Par défaut
    Oui en effet, ça a bien animé ma soirée (mais je faisais pas exprès) !

    Merci pour avoir consacré un peu de ton temps à mon problème en tout cas ! (et bien joué pour avoir remarqué la référence à Seth )

    Bonne fin de soirée !

  13. #13
    Membre expérimenté
    Avatar de visiwi
    Profil pro
    Inscrit en
    Février 2008
    Messages
    1 050
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 1 050
    Points : 1 340
    Points
    1 340
    Par défaut
    Mais de rien, l'entraide est une valeur épanouissante !
    Bonne fin de journée à toi.
    @+

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

Discussions similaires

  1. Mon JPanel ne s'affiche pas.
    Par Ludix_ dans le forum Agents de placement/Fenêtres
    Réponses: 1
    Dernier message: 20/02/2014, 00h06
  2. Graphic qui ne s'affiche pas dans le Jframe
    Par dalal bay dans le forum Débuter
    Réponses: 1
    Dernier message: 22/04/2012, 16h38
  3. Réponses: 6
    Dernier message: 07/04/2010, 11h22
  4. Mon applet ne s'affiche pas dans le navigateur
    Par sebac dans le forum Applets
    Réponses: 5
    Dernier message: 17/08/2009, 13h01
  5. DBGrid : mon texte ne s'affiche pas en entier dans la colonne
    Par socooooool dans le forum Bases de données
    Réponses: 1
    Dernier message: 07/07/2006, 17h38

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