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

Agents de placement/Fenêtres Java Discussion :

JPanel dans JFrame non visible au lancement.


Sujet :

Agents de placement/Fenêtres Java

  1. #1
    Expert éminent
    Avatar de PRomu@ld
    Homme Profil pro
    Ingénieur de Recherche
    Inscrit en
    Avril 2005
    Messages
    4 155
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 4 155
    Points : 6 486
    Points
    6 486
    Par défaut JPanel dans JFrame non visible au lancement.
    Bonjour,

    Voilà mon problème :

    J'ai une fenêtre (JFrame) qui doit se composer de trois parties :

    [Tableau]
    [ListeChoix]
    [InfosDiverses et boutons]

    J'ai donc utilisé un gridLayout pour ma JFrame et dans chaque case de mon grid layout, j'ai un JPanel.

    On a donc un JPanel pour le tableau, dans lequel on a un JScrollPane qui lui même inclue mon JTable.

    Dans le deuxième Paneau (ListeChoix), je dois avoir 6 Check, j'ai choisi comme layout pour ce panneau un gridbox de 3 lignes sur 2 colonnes. J'y insère mes checkbox dedans.

    Je me suis arrêté là pour l'instant puisque lorsque je crée ma JFrame et que je l'affiche, j'ai bien mon tableau qui s'affiche mais pas le deuxième panneau avec mes checkbox.

    En fait lorsque je redimessionne ma fenêtre, mon deuxième panneau apparait de temps en temps.

    Est ce que quelqu'un peut m'aider ?

    Merci d'avance.

  2. #2
    Expert éminent
    Avatar de PRomu@ld
    Homme Profil pro
    Ingénieur de Recherche
    Inscrit en
    Avril 2005
    Messages
    4 155
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 4 155
    Points : 6 486
    Points
    6 486
    Par défaut
    En fait, je viens de me rendre compte que si je mettais ma frame non redimensionnable, je n'avais plus de soucis.

    Je vais donc faire pour l'instant comme ceci, mais si toutefois on pouvais m'expliquer le pourquoi de mon problème ça serait gentil.

  3. #3
    Membre éclairé Avatar de sozie9372
    Inscrit en
    Mai 2005
    Messages
    713
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Mai 2005
    Messages : 713
    Points : 724
    Points
    724
    Par défaut
    Yo !

    Faudrait que tu montres ton code... Car là c'est bizarre...
    As tu fais un pack() après la création et l'ajout de tes composants ?

    +++
    Ju
    "Il y a 3 personnes en ce monde sur qui tu peux compter : moi, le pape et le cavalier solitaire ! "
    Penser à svp

  4. #4
    Expert éminent
    Avatar de PRomu@ld
    Homme Profil pro
    Ingénieur de Recherche
    Inscrit en
    Avril 2005
    Messages
    4 155
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 4 155
    Points : 6 486
    Points
    6 486
    Par défaut
    As tu fais un pack() après la création et l'ajout de tes composants ?
    Non.

    Faudrait que tu montres ton code...
    Je le posterai plus tard, désolé, je ne suis pas sur la machine qui a le source ...

  5. #5
    Membre confirmé Avatar de NeptuS
    Profil pro
    Inscrit en
    Août 2005
    Messages
    392
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2005
    Messages : 392
    Points : 508
    Points
    508
    Par défaut
    parties de code à vérifier :

    présence d'un pack() après la dernière insertion d'un Component dans le ContentPane de ta JFrame. (déjà dit).

    ton GridLayout est bien définit avec un :
    new GridLayout(3,1);
    ou
    new GridLayout(0,1);

    tu fais bien ton getContentPane.add(jPanel2);
    Toute vérité est bonne à entendre, même si toutes les vérités ne sont pas bonnes à dire.
    Rien ne sert de partir à point, il vaut mieux courir .

  6. #6
    Expert éminent
    Avatar de PRomu@ld
    Homme Profil pro
    Ingénieur de Recherche
    Inscrit en
    Avril 2005
    Messages
    4 155
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 4 155
    Points : 6 486
    Points
    6 486
    Par défaut
    présence d'un pack()
    Essayé mais aucun changement ...

    ton GridLayout est bien définit avec un :
    new GridLayout(3,1);
    Exact.

    Tu fais bien ton getContentPane.add(jPanel2);
    En fait je fais directement add() dans mon JFrame est ce que ça à une forte différence (désolé mais je ne programme quasiment jamais sous java d'habitude ...)

  7. #7
    Expert éminent
    Avatar de PRomu@ld
    Homme Profil pro
    Ingénieur de Recherche
    Inscrit en
    Avril 2005
    Messages
    4 155
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 4 155
    Points : 6 486
    Points
    6 486
    Par défaut
    En fait, ça ne fonctionne pas en redimensionnant la fenêtre mais en la mettant fixe, ça passe tout seul, en plus en y réfléchissant la fenêtre n'a pas lieu d'être redimensionnée ...

    Maintenant, j'ai un autre problème, dans cette fenêtre, je met à jour des choses (en fait c'est mon tableau qui change car j'y ajoute des choses dedans).

    Après avoir ajouté les choses, je voudrai rafrachir mon tableau, mais ça ne fonctionne pas.

    J'ai procédé comme ceci :

    Je recrée le tableau et je demande le réaffichage (via repaint) du panneau contenant mon tableau masi ça ne fonctionne pas, j'ai toujours mon ancien tableau.

  8. #8
    Membre averti Avatar de let_me_in
    Inscrit en
    Mai 2005
    Messages
    441
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 441
    Points : 437
    Points
    437
    Par défaut
    essaie avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    panneau.paintAll(panneau.getGraphics);
    et tu peux meme faire ca pour ta frame, a la fin de ton constructeur.
    qui dit Dieu n'existe pas dis que les programmes tournent sans processeur.

  9. #9
    Expert éminent
    Avatar de PRomu@ld
    Homme Profil pro
    Ingénieur de Recherche
    Inscrit en
    Avril 2005
    Messages
    4 155
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 4 155
    Points : 6 486
    Points
    6 486
    Par défaut
    Ben non, ça ne change rien.

    Je comprend rien à ce qui se passe ...

  10. #10
    Membre averti Avatar de let_me_in
    Inscrit en
    Mai 2005
    Messages
    441
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 441
    Points : 437
    Points
    437
    Par défaut
    la il faut voir le code, tu travaille toujours ?
    qui dit Dieu n'existe pas dis que les programmes tournent sans processeur.

  11. #11
    Expert éminent
    Avatar de PRomu@ld
    Homme Profil pro
    Ingénieur de Recherche
    Inscrit en
    Avril 2005
    Messages
    4 155
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 4 155
    Points : 6 486
    Points
    6 486
    Par défaut
    Bon pour ma réactualisation, j'ai une méthode,je ne sais pas si c'est la meilleure, mais elle fonctionne ...

    Je récupère le conteneur de la frame, je supprime tout, je recrée tout et je remet tout dans le conteneur puis j'affiche. C'est un peu bourrin mais ça me va pour l'instant.

  12. #12
    Membre averti Avatar de nicotine002
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    577
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 577
    Points : 409
    Points
    409
    Par défaut
    Bonsoir, pourrais tu essayer avec ca sinon:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SwingUtilities.updateComponentTreeUI(getContentPane());
    Même si c'est pour les l&f, quelquefois ca fonctionne bien je trouve pour rafraichir les composant.
    Pourquoi ca marche jamais?Vive le café!

  13. #13
    Membre confirmé Avatar de NeptuS
    Profil pro
    Inscrit en
    Août 2005
    Messages
    392
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2005
    Messages : 392
    Points : 508
    Points
    508
    Par défaut
    1 : on n'ajoute pas les Component directement dans la JFrame mais sur son ContentPane : il doit te créer un Warning certainement.

    2 : on ne recrée pas son tableau quand les données changent : on modifie (ou on recrée) son Model. Va faire un tour dans la Faq java sur les JTables, DefeultTableModel et tout et tout .. sinon, cherches sur le net des infos sur le concept MVC (modèle vue controlleur, je crois).
    Toute vérité est bonne à entendre, même si toutes les vérités ne sont pas bonnes à dire.
    Rien ne sert de partir à point, il vaut mieux courir .

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

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 770
    Points : 8 178
    Points
    8 178
    Par défaut
    1 : on n'ajoute pas les Component directement dans la JFrame mais sur son ContentPane : il doit te créer un Warning certainement.
    Plus dans Java 5.

    Sinon NeptuS a parfaitement raison, il faut modifier les donnees du tableau pas le composant lui-meme. Si d'aventure tu dois quand meme recreer un componsant il faut d'abord le supprimer de son conteneur (avec un appel a remove()) avant de le remettre dedans.
    Romain Guy
    Android - Mon livre - Mon blog

  15. #15
    Membre confirmé Avatar de NeptuS
    Profil pro
    Inscrit en
    Août 2005
    Messages
    392
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2005
    Messages : 392
    Points : 508
    Points
    508
    Par défaut
    arf .. bizarre Gfx : moi avec Tiger il me met toujours un Warning ... je suis d'accord que ça marche quand même ^^ mais il me met toujours le Warning me disant qu'il est préfrable d'utiliser le getContentPane().add() .. il doit bien y avoir une raison à cela .... mais je ne suis pas aussi expert que toi lol ... je ne suis qu'un ptit étudiant en info
    Toute vérité est bonne à entendre, même si toutes les vérités ne sont pas bonnes à dire.
    Rien ne sert de partir à point, il vaut mieux courir .

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

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 770
    Points : 8 178
    Points
    8 178
    Par défaut
    Je viens de verifier sur mon Tiger et il n'y aucun warning avec la commande javac fichier.java. Tu es sur de bosser sur une version 1.5 ?

    P.S : Je suis aussi etudiant en info
    Romain Guy
    Android - Mon livre - Mon blog

  17. #17
    Membre confirmé Avatar de NeptuS
    Profil pro
    Inscrit en
    Août 2005
    Messages
    392
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2005
    Messages : 392
    Points : 508
    Points
    508
    Par défaut
    Equipe Swing chez Sun Microsystems
    il y a quand même une différence entre nous deux .. que dis-je ? un cap ! une péninsule !!

    je dev sous NetBeans 4.1 et Eclipse 3.1, JRE1.5.0_06
    Toute vérité est bonne à entendre, même si toutes les vérités ne sont pas bonnes à dire.
    Rien ne sert de partir à point, il vaut mieux courir .

Discussions similaires

  1. Problème changement de JPanels dans JFrame
    Par david64 dans le forum Agents de placement/Fenêtres
    Réponses: 2
    Dernier message: 23/04/2010, 13h35
  2. checkbox dans div non visible (IE6)
    Par boutmos dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 03/11/2009, 11h21
  3. Problème affichage JPanel dans JFrame
    Par Papipen dans le forum Agents de placement/Fenêtres
    Réponses: 2
    Dernier message: 18/06/2009, 20h45
  4. récupérer JPanel dans JFrame
    Par mavvv dans le forum Agents de placement/Fenêtres
    Réponses: 1
    Dernier message: 27/02/2009, 20h45
  5. Envoi pièce jointe, code HTML dans Outlook non visible !
    Par etorria dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 11/07/2008, 12h54

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