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 :

affichage contenu JFrame


Sujet :

Java

  1. #1
    Membre du Club
    Inscrit en
    Octobre 2007
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 55
    Points : 48
    Points
    48
    Par défaut affichage contenu JFrame
    Salut,
    J'ai un probleme d'affichage d'une JFrame. Lorsque je demande dans ma main d'affficher ma JFrame tout va bien mais lorsque je demande de l'afficher lorsque j'appuie sur un bouton elle s'affiche et se dimensionne et positionne correctement mais son contenu ne s'affiche pas.

  2. #2
    Rédacteur
    Avatar de CyberChouan
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    2 752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 752
    Points : 4 314
    Points
    4 314
    Par défaut
    Quelques petites choses à vérifier...

    - as-tu bien ajouté tous tes composants dans ta JFrame: un JContentPane contenant lui même tes composants graphiques (JPanels, etc.)
    - as tu bien défini un Layout pour gérer le positionnement des éléments graphiques?
    - as-tu bien appelé la méthode "pack()" pour positionner tes éléments et la méthode "setVisible(true)" pour demander l'affichage effectif (voire éventuellement "repaint()" pour forcer java à redessiner tes composants)?
    Avant de poster, pensez à regarder la FAQ, les tutoriaux, la Javadoc (de la JRE que vous utilisez) et à faire une recherche
    Je ne réponds pas aux questions techniques par MP: les forums sont faits pour ça
    Mes articles et tutoriaux & Mon blog informatique

  3. #3
    Membre du Club
    Inscrit en
    Octobre 2007
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 55
    Points : 48
    Points
    48
    Par défaut le contenu s'affiche quand la méthode est finie
    en fait c'est une fenetre d'attente. Lorsque j'appelle la methode(via un bouton) la fenetre d'attente s'affiche tout de suite, sans son contenu ( même avec pack() ou repaint() ou setVisible(true)) puis lorsque la fenetre qui prenait du temps a se creer s'affiche, le contenu de la fenetre d'attente s'affiche. Je ne comprend pas pourquoi il faut attendre que la méthode se finisse (et qu'il ne se passe plus rien puisqu'on attend de l'utilisateur qu'il appuie sur un bouton pour continuer) pour que le contenu des fenetres s'affichent.
    PS : donc si je n'affiche que la fenetre d'attente dans la méthode(qui n'attend donc rien), le contenu s'affiche illico.

  4. #4
    Membre actif
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    406
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 406
    Points : 279
    Points
    279
    Par défaut
    Mets nous un peu de code pour qu'on puisse t'aider.

  5. #5
    Membre du Club
    Inscrit en
    Octobre 2007
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 55
    Points : 48
    Points
    48
    Par défaut code
    Salut
    Voila la méthode en question. "this.creerFenetre(1);" génere la fenêtre d'attente, ensuite les calculs se font(de "c.initialiserProvinces();" à "PhaseEconomique fR = new PhaseEconomique(c);") puis je ferme la fenetre d'attente et j'affiche la fenetre qui suit (fR). Le probleme s'est que le contenu de la fenêtre ne s'affiche pas. Par contre, si j'enlève "this.close(nombreDeFenetres-1);", après que fR se soit affiché et que la méthode est finie, le contenu de la fenêtre d'attente s'affiche enfin.




    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
    public void commencerLaPartie()
          {
             this.creerFenetre(1);
             c.initialiserProvinces();
             c.initialiserTableauSeigneursEtVassaux();
             c.donnerProvinces();
             PhaseEconomique fR = new PhaseEconomique(c);
             this.close(nombreDeFenetres-1);
             fR.setVisible(true);
          }
     
     
      public void creerFenetre(int a)
          {
             nombreDeFenetres += 1;
             fenetre[nombreDeFenetres-1] = new Window(a, this, nombreDeFenetres-1);
             fenetre[nombreDeFenetres-1].setVisible(true);
          }

  6. #6
    Membre du Club
    Inscrit en
    Octobre 2007
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 55
    Points : 48
    Points
    48
    Par défaut solution
    J'ai trouvé la solution merci de m'avoir aidé:

    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
    public void commencerLaPartie()
          {
             this.creerFenetreDAttente();
             new Thread(
                    new Runnable()
                   {
                       public void run()
                      {
                         c.initialiserProvinces();
                         c.initialiserTableauSeigneursEtVassaux();
                         c.donnerProvinces();
     
                         SwingUtilities.invokeLater(
                                new Runnable()
                               {
                                   public void run()
                                  {
                                     PhaseEconomique fR = new PhaseEconomique(c);
                                     celuiCi.fermerFenetreDAttente();
                                     fR.setVisible(true);
                                  }
                               }
                            );
                      }
                   }
                ).start();
     
    public void creerFenetre(int a)
          {
             nombreDeFenetres += 1;
             fenetre[nombreDeFenetres-1] = new Window(a, this, nombreDeFenetres-1, fDA);
             fenetre[nombreDeFenetres-1].setVisible(true);
          }
          }

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

Discussions similaires

  1. Affichage contenu d'un objet en mode DEBUG
    Par st20085 dans le forum Eclipse Java
    Réponses: 8
    Dernier message: 07/09/2006, 09h36
  2. [HTML] problème d'affichage contenu
    Par loukili81 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 20/06/2006, 12h34
  3. [SQL] probleme d'affichage contenu de variables
    Par taka10 dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 02/06/2006, 15h03
  4. Affichage contenu d'une variable dans JS
    Par tangjuncn dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 18/05/2006, 13h38
  5. Réponses: 3
    Dernier message: 05/05/2006, 18h36

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